<SEC-DOCUMENT>0001169445-22-000003.txt : 20220315
<SEC-HEADER>0001169445-22-000003.hdr.sgml : 20220315
<ACCEPTANCE-DATETIME>20220315160254
ACCESSION NUMBER:		0001169445-22-000003
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		104
CONFORMED PERIOD OF REPORT:	20211231
FILED AS OF DATE:		20220315
DATE AS OF CHANGE:		20220315

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			COMPUTER PROGRAMS & SYSTEMS INC
		CENTRAL INDEX KEY:			0001169445
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-COMPUTER PROGRAMMING SERVICES [7371]
		IRS NUMBER:				743032373
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-49796
		FILM NUMBER:		22741042

	BUSINESS ADDRESS:	
		STREET 1:		6600 WALL STREET
		CITY:			MOBILE
		STATE:			AL
		ZIP:			36695
		BUSINESS PHONE:		2516398100

	MAIL ADDRESS:	
		STREET 1:		6600 WALL STREET
		CITY:			MOBILE
		STATE:			AL
		ZIP:			36695
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>cpsi-20211231.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with Wdesk from Workiva--><!--Copyright 2022 Workiva--><!--r:5f089e39-5400-42a6-8cf7-a58d1803f56b,g:4b2da0af-6aab-4056-86f4-46579ce6ecbb,d:970301c9c50f467384dc14f962fc03da--><html xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:cpsi="http://www.cpsinet.com/20211231" xmlns="http://www.w3.org/1999/xhtml" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:dei="http://xbrl.sec.gov/dei/2021q4" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>cpsi-20211231</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:DocumentFiscalYearFocus" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV80L2ZyYWc6YTdkOWQyMzkxNmFiNDMzYzgwYjNmZWIwZTEwYmFhZDMvdGFibGU6NTc1ZmI0NTdkYTVkNDIxMDlkNjYwNmU1NmViZjJmOTUvdGFibGVyYW5nZTo1NzVmYjQ1N2RhNWQ0MjEwOWQ2NjA2ZTU2ZWJmMmY5NV8xLTEtMS0xLTE4Njg5_231ecbca-5d77-41d8-be3f-010da6818e98">2021</ix:nonNumeric><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:DocumentFiscalPeriodFocus" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV80L2ZyYWc6YTdkOWQyMzkxNmFiNDMzYzgwYjNmZWIwZTEwYmFhZDMvdGFibGU6NTc1ZmI0NTdkYTVkNDIxMDlkNjYwNmU1NmViZjJmOTUvdGFibGVyYW5nZTo1NzVmYjQ1N2RhNWQ0MjEwOWQ2NjA2ZTU2ZWJmMmY5NV8yLTEtMS0xLTE4Njg5_630fe174-0e39-48ae-865c-a5c243e71a09">FY</ix:nonNumeric><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:AmendmentFlag" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV80L2ZyYWc6YTdkOWQyMzkxNmFiNDMzYzgwYjNmZWIwZTEwYmFhZDMvdGFibGU6NTc1ZmI0NTdkYTVkNDIxMDlkNjYwNmU1NmViZjJmOTUvdGFibGVyYW5nZTo1NzVmYjQ1N2RhNWQ0MjEwOWQ2NjA2ZTU2ZWJmMmY5NV8zLTEtMS0xLTE4Njg5_b57ac27f-9cf4-4bf5-bebe-35f0eb64399d">FALSE</ix:nonNumeric><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityCentralIndexKey" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV80L2ZyYWc6YTdkOWQyMzkxNmFiNDMzYzgwYjNmZWIwZTEwYmFhZDMvdGV4dHJlZ2lvbjphN2Q5ZDIzOTE2YWI0MzNjODBiM2ZlYjBlMTBiYWFkM18yNg_2289ab68-d1a1-4aa0-aa8b-fc4174861b46">0001169445</ix:nonNumeric><ix:nonNumeric contextRef="i7ec240adbe214ae69b72897486213f92_D20210101-20211231" name="cpsi:RevenuePerformanceObligationDescriptionOfTiming1" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEyMjU1_9cf6cf15-0f35-4978-9dd4-6c7c8e333172">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="if72a9e6387844f44955628d8a22a709a_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzE1MDI_77727322-af84-4fb8-9936-e10a3da6d6c2">P1Y</ix:nonNumeric><ix:nonNumeric contextRef="i820512a48d1743408593315fdf1b70d7_D20210101-20211231" name="cpsi:FinancingReceivableTerm" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzI0MQ_7e7d4c17-971e-4d74-8af9-39fd108f1189">P3M</ix:nonNumeric><ix:nonNumeric contextRef="i9bb00e874d3e4768884b0370eec29492_D20210101-20211231" name="cpsi:FinancingReceivableTerm" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzE2MzE_f4fadd3a-fc0c-450b-bdb7-8b9e189daf6d">P2Y</ix:nonNumeric><ix:nonFraction unitRef="number" contextRef="i82de15842fe341b6a9773eb86164746c_D20200616-20200616" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzIvZnJhZzo0ODk3N2Q4MzgxNDE0NTVlOGYxNmE3MjZjMTk4Y2Y0Ny90ZXh0cmVnaW9uOjQ4OTc3ZDgzODE0MTQ1NWU4ZjE2YTcyNmMxOThjZjQ3XzQz_621d7e9d-4d19-4ea4-8a83-41cd946acfda">.005</ix:nonFraction><ix:nonNumeric contextRef="iab40e2ac68884870b913789195bc317e_I20201231" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_11044054-b20b-4e64-84db-2255f5137354">http://fasb.org/us-gaap/2021-01-31#OtherAccruedLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_a06dcfd3-4852-44f1-b934-aaacbec8f4c5">http://fasb.org/us-gaap/2021-01-31#OtherAccruedLiabilitiesCurrent</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="cpsi-20211231.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i05745bcabd594d529e03b5a3f4a8bd28_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="id6e689a90f754916ab5348cc95023213_I20220314"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-03-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="iee1578436de542c7a4e1e1acd9b621c1_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iab40e2ac68884870b913789195bc317e_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:context id="i6c03f5a350164dcbb88151a9307a6efe_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i05a70aa5b9b94fd3bbf9a56289584148_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie7e2bfd4d0ab499386b43274469ef5d0_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i18c7be7656c24e6cb00dfab95139b68f_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0ae67a7678f9428da4168541bb76702a_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i745fc6d60f45437b89444e5f20c3d2d4_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6289b71ef8884ed18903d1e7e8697572_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id6ee606e4ff34ae19a0e97f328de9dc7_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6eedb6f3dea941ef924d7276771d7f45_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8aba27fdc79045019baacfd81483f76d_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iba34e02a99eb4a77a9abd132b80fd41a_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i438e17be21934556a24852d84040cdc1_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i78d30715b9ff4950abf53cd91b6bbddf_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i161f1a2c1f7d40c9bc3cd7765d34dc6e_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5bdf4e1213094d24bc30af4608ab1ab6_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i03c4d80ea54b45e79405e772d3c33c35_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i28f393c50f5d4118b8aafcd0ceef0a48_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i80b932da804a4ed8b9574e3a636543e7_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iade483e7d2224faaba6643c762704fb8_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i988c23bc2b6c4d6885cccece006a967c_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i746f8c641c4e4628871b375360ebea34_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib7d87517073c4ef080856d0864cc44d5_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iabe727aa5b024239a8f88cbaa56f259b_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i372ccaaaabb64ec7b0184fe91bc0c66e_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4b260f3389ec44cc836ffb3fe01ac7ee_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iff782942cf60437782f74f9de6b582aa_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ida9c8897ad9947d58f4864ed048f4cc3_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idd96f2e6ab4f4c0fbddb03bce1100899_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i189b982ec82d4066a9da9cef2b3c2603_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i40854906b1a84164b853e80f5ce75b40_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie3be8de809da487e916dc4d13609fa3d_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iaf7538eb0c9b4474aee9fc10bdcf72bc_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i660c77300a31443b809244dda2006fb8_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i97049eb4e2d34ed7b632ec15d0da61a1_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3235e161e0a8448c8112368fd1541e43_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib0d4e466721e4851993fea764dd48e38_D20210101-20210101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:IntangibleAssetsAmortizationPeriodMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iad30fa0c200440a79279d9943444a481_D20210101-20210101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:IntangibleAssetsAmortizationPeriodMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i81f41de3db3a4679b3676df5cff97128_D20210101-20210101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:IntangibleAssetsAmortizationPeriodMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2f293cd124844e6698cb14311e883625_D20210101-20210101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:IntangibleAssetsAmortizationPeriodMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if8ccc001a0c048f79fe279167835d4c6_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:IntangibleAssetsAmortizationPeriodMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i724b2edce52c456a99de6eb5015156e0_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib8cc098f4999424aa09e32faba6b5fe9_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodReclassificationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie295800c8fa7470aa18873c906a7f7e5_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i17c48da9fdbe4e2aa718d56d6f7fcf95_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodReclassificationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5d37869fd9b247729baa4e447474047b_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4a38d9a2f80e47618c1cfa72f305d4a5_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i035c17643efe4d4db4d3f8214f0473eb_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7ec240adbe214ae69b72897486213f92_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7eb4e2da22d347169aff5fce18c7c88a_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id64e1dd8939e448e88046c4c36f6f831_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3323119e0c3647b980f3599fd5055bd0_D20210512-20210512"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:TruCodeLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-12</xbrli:startDate><xbrli:endDate>2021-05-12</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6565462584164257bb0d8fa000bb0700_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:TruCodeLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i124c345d253b4bccaa47961637d8d63d_I20210512"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:TruCodeLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-05-12</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iaa1b4c6fdc7a4b9082bc0309d0fcb959_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:TruCodeLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i58aa93d446c1469081e8729fb933cc4d_D20190503-20190503"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:iNetXpertsCorpMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-05-03</xbrli:startDate><xbrli:endDate>2019-05-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1c0f7691c67249928dca97d88dedf9bb_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:iNetXpertsCorpMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:iNetXpertsCorpMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-05-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1da887bcff9b421190fc0fa3fc044d72_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if98f8fbdf0784e23ab624f319145f44d_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i375f4addcd3244ef8d2223822d12e4a8_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5cdb3384fa3046e2ad46d5e3afec5959_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ide101ceca8f54f33885aaf6f1af9f0fb_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5d6f80d9760d40dc87e93b2f0d4e35ec_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibc31d2d4b5424c9c90dcffbba84d715b_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i671809b9f55c489e9bd39b9a6cb45116_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia3bde531893248b5bcb47e6b90b2a928_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3cda13ca420b4c15a53e1ec9361624eb_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0e3f448ddcb940b7b4e3b0bbb19445c8_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ica9918e0d8ac4287844a00b525bf32aa_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="i0e6b903e385e4b339042653e96cfa17c_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8620ad511d2f4266a2ab4eb9a4cb91a1_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i024ef8a2dc9f40f1846defc35dcecdb7_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibabe8e3244dd4088a48c48662ae961f2_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i10998deeec4444688c5a007599d555bf_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia74a26d7c02d4a389189216a323dc710_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id3f15d2f848e4bdbb0a00f455ceb4254_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0e38cd2e5e6a4451bc6772e3ee528219_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7b63e7a270284839915ff562ea1e0d93_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic0bff55c32b347aeb41db873273a8db8_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OperatingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i44ae32f91bc146269e80edf22a7449c6_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OperatingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id7cf6e2513ca435b9fb17c071eac4b41_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OperatingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if72a9e6387844f44955628d8a22a709a_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib140512d078a49688922f38534fc3a5e_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9c9a51c90657471da0d4ed406f6f44eb_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8f8d63ff189b4c629197853c2d594eaf_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if7bc0fdebc8b4555bb10cb1c47f7ee1f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5b2e405c72c54d09a77a962688d6920a_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib500e6cd1dfa4de58cdb8277daa0844a_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i35f777e2bdc0495aa175506cf78dc5e0_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4f09ca7c6652413fbd5211df3eff5fb1_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i33920c99045546bd851d4134166c7640_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8ad00f52d96b434894058fcdac2ce52e_I20200904"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-09-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i820512a48d1743408593315fdf1b70d7_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:ShortTermPaymentPlansMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i504af8f371ac41aeadb509b6640f79cf_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:ShortTermPaymentPlansMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i96cce644b5b541e3ab151b39dd56fea8_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:ShortTermPaymentPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4a8edb83709a44e493b1a2f14209c2d6_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:ShortTermPaymentPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9bb00e874d3e4768884b0370eec29492_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:LongTermFinancingArrangementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i97294598b55e4a169139e60c6100574a_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:LongTermFinancingArrangementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:LongTermFinancingArrangementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if5b4079cad9e4f0a9acd21420703e9e1_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:LongTermFinancingArrangementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4f71f38e00134d0a967eef57416d23ea_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset1To90DaysPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i19fe20fadbec473e84c2cefa050549ce_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset91To180DaysPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idfbb6db55bcc475c95090a63e03223cb_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset181OrMoreDaysPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i394e0c51c5204c65ba3c50821206516f_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5896a48759ed47e986e160780dca3cc6_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset1To90DaysPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2d18e9bb2beb4dfe95e84c699bba98b9_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset91To180DaysPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i90899b30bab747b9be60aebbb78c0306_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset181OrMoreDaysPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4338a3b0df2442259fe4743db2d4f147_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia34e41edc0bb4aa0bee1d2ed39d494ff_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset1To90DaysPastDueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3bd916e526b841e5a2f4c5805b0c460b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset1To90DaysPastDueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7f089113fe87450796dfec96d18ff113_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset91To180DaysPastDueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i495ee455a3694ab1bc3a37cbf0792e84_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset91To180DaysPastDueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id98187245f5942d5bb53b2ff9fefa443_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset181OrMoreDaysPastDueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i772210ffd2864501b2fa8347302d196d_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset181OrMoreDaysPastDueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i50780332897842d8a170c8d913737dca_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetPastDueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i885c4719103c4223917a1819fdc77fae_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetPastDueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iabc96cc01477497c865be40696b76660_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetNotPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0854ed4b072644c5b0be09e992f37e17_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetNotPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2be536a0f65c4b11b8d9bd6f68f8756c_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6072eac355814ae18b59f266502ab12d_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i317e25108f39466cac1924a62b77a83b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i01b18e2e53594288b1e7188aa5cd00e8_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5f8355a19d574aa0beea355882e9d31d_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i38be02faf2f241de9da5eabb28d5ceaa_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie49e1f5902674ab5af06ab1168ab2753_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1480e56773254180bcd33871404718bc_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i836109cf60b343bbbecd278715acae38_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie78548a3771d4f0788eae7e8f3037e69_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i042c4a6e333c4e50abbc82964744d503_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8a7f3950ab004b87877793d42333a2c7_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i59e11e8e16c643d08587bbf17610a0d4_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3f990ced8a63426fad4d5dbc2dbe5fa0_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic2c74b16328b45b28e0b371d9c0bc311_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i68250114a9cb4fa1945033918d2365fe_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i50e15f0a744942cd9cc167ab38a7f61d_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ife0de9e0394749be960489305714b4a8_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ieb1f4e30623e4f57bdbebdd56a30181d_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0c9c5fb12ad2447d8357f534c830af13_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia18b0ed945464b0cadd990f042f24c2b_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie12c66c23ade4899aaca58beda541f14_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i33326983aa3b47c799e18f4cd740ab27_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i396944ff3ba942049790a47bde82ea44_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i07770b156f8e48248317564d171ebc33_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8fc8a55b5b234ea5a4e8f6d1200bc81c_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8347c29ac01e4a418eb23db105f002ba_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i457aed60978445d8a4fbd2c899cbe129_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia857e5fe932041ea94266344b190ee72_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idcbdd02f4e974b62afb99bf20b12e1a7_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i098ec3a0edb44499a25f0be40f834433_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4f41e506535241158952377e85b92f73_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7774a291616745f2b99a10cb9fe514c4_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4b82d1206fea4eeb801fbfe940a29560_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i69f6598ce20040d0b0d0a00432dd75f5_I20160131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic2cc02f8bb884567804955e9db8c72e6_I20160131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i89787416874f45a5a31f1114f422880d_I20200616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4e0ac7ab7e08464d86fd95fbf051710f_I20200616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i66ae8df3555a4b09ab10feda0246f5f4_I20200616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idbfc7bbbd3b0494cacb226b1d2242e9c_D20200616-20200616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-16</xbrli:startDate><xbrli:endDate>2020-06-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2ee0f003efa54176b9c29af41c084885_D20200616-20200616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-16</xbrli:startDate><xbrli:endDate>2020-06-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8012728517e9492c8f41ce749681957b_D20200616-20200616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-16</xbrli:startDate><xbrli:endDate>2020-06-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i07f2313760d64cfc8984a1df0d40f5d4_D20200616-20200616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-16</xbrli:startDate><xbrli:endDate>2020-06-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3f07da70093d4c77b85f88ea63b6a831_D20200616-20200616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-16</xbrli:startDate><xbrli:endDate>2020-06-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibeb8591df2a54f0ea408cf7c86d6683c_D20200616-20200616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-16</xbrli:startDate><xbrli:endDate>2020-06-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic359000302a944a6978029ba0d8b4b34_D20201001-20220630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-10-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i17b8def01d8f46fabb3836ba681f540a_D20201001-20240630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-10-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iee50ce6c660b4c4a919bfb026f1f98d5_D20201001-20250331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-10-01</xbrli:startDate><xbrli:endDate>2025-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iab3e980571b74fb994aa2a980e2a354a_I20200616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-06-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i39ea9db2d47d426f970476611d79347d_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i82de15842fe341b6a9773eb86164746c_D20200616-20200616"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-16</xbrli:startDate><xbrli:endDate>2020-06-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i61573d36a5d94d7c929e3392a7bb1697_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">cpsi:CPSI401kRetirementPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5fb6373a3d534f41a85aaa20ffcfeeb3_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">cpsi:CPSI401kRetirementPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i85937983f2e544d8ba83df5d7af6737c_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">cpsi:CPSI401kRetirementPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2c75fe23fc704fd29b033637c890a68a_I20210728"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-07-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="sqft"><xbrli:measure>utr:sqft</xbrli:measure></xbrli:unit><xbrli:context id="i77453d5f51a04b3a88ce146231aa3865_D20210728-20210728"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-28</xbrli:startDate><xbrli:endDate>2021-07-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i74355865c0724ca39a307223f41d7961_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia2ae05a7cfd84775a807baf40cc36dcb_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8d38aef87c0344f49223a051136f1c98_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie43da8c2275c495190a48135ad8f7d2e_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="segment"><xbrli:measure>cpsi:segment</xbrli:measure></xbrli:unit><xbrli:context id="ieb792a6c64fe49a1a89138698dc99a5f_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i61ca0207d5aa4abc8d4e41af984bd82e_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i49e87857fd2c41518c50532cff87363d_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifae67c79998f42aeb7021dd210dba092_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie82ebf9b6c364ff78d02b15b49c50681_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if51be33f23954516a3cf10a82447fa94_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8add1fe0b7094bfea04a75a643d1cc19_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i795e095788164b229ee78021c19dcbaf_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i20a7abbd8d894bf6968952740024a006_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic31376515a1a49d38d3e227d452e1acd_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9fd71d6876134adcacebca405a9ef3d7_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6d2acb701ee14268961a5e4cbd745884_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if98b70a755f34fe38d4e528bbdc52f89_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i77ec980fd65e483185800534cade882c_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:TruBridgeRycanandOtherOutsourcingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifc0be87e46db43a299ea815acfaf03f6_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:TruBridgeRycanandOtherOutsourcingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic0e5871eb08e4d5cb61983f5950b46a6_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:TruBridgeRycanandOtherOutsourcingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i307fc3d65df74d78b8f27d9a56d2a6d2_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idefb735c8ded4a32bde065be3f7e28fe_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i49510c27dc9a48ebab0f4bdf515a6d9a_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8058d01dccac498f872f7e6ff309021b_D20220301-20220301"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:HealthcareResourceGroupIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-03-01</xbrli:startDate><xbrli:endDate>2022-03-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9f318f4174c44b08bf9c6fd34db63b56_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3bcc10c17f7d43b0ac51136bd8956f60_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic5469b8ecd8f494a87edad3b2ac4b93a_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie2399265c8674996aa82fdb87d6fe9ee_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iafa093836b8a4b1894776ab8850014fe_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iee586bdc51aa4f27a0306ae06003ea57_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if5c511157e3c4b42ac89d7789ab56c81_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8e26f510fe624e779ee96e79177b2314_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5a9c5ff7a4d8450f8f48e1de56002971_D20190101-20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5e2f81ad4914429aa8c24f6aff455565_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i835f5ffe75af457f82d7be967e4038d6_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7a9283acfbf843a6afb93ca0a5acd410_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if4c975bd975c4feb9e38c4503703ce63_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if06dd002edf2474db0d4d72d9d89a505_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001169445</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i970301c9c50f467384dc14f962fc03da_1"></div><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:2pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">WASHINGTON, D.C. 20549</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:24.269%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:1pt solid #000000;padding:0 1pt"></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%">FORM <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:DocumentType" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN184NA_ac676046-d9c7-4782-8d2c-e4410f0d21ae">10-K</ix:nonNumeric></span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:24.269%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr></table></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:4.765%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:93.035%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:DocumentAnnualReport" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6OGVjNWFiZjIwMDRhNGFjN2ExM2RiOWFhN2Y4MjQ2OTIvdGFibGVyYW5nZTo4ZWM1YWJmMjAwNGE0YWM3YTEzZGI5YWE3ZjgyNDY5Ml8wLTAtMS0xLTE4Njg5L3RleHRyZWdpb246NmY4YjVlY2MxYjg1NGQ5YWE5MTU0ZDg4MmIyOWFiZGNfNA_c0569914-a494-4114-9f5f-4e76bc13132a">&#9746;</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr></table></div><div style="margin-top:2pt;text-indent:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">    FOR THE FISCAL YEAR ENDED <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18xMjI_7a815c72-a05a-4184-99fb-54b17848bd32"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:CurrentFiscalYearEndDate" format="ixt:date-monthname-day-en" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18xMjI_8ca97a52-a0c0-4fce-83c0-ebddaa37b16b">December 31</ix:nonNumeric>, 2021</ix:nonNumeric> </span></div><div style="margin-top:2pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">OR</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:4.765%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:93.035%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6ZjdmNmI4ZjlhNTA2NGFkNGIzMmQzNTA0ZjQzNDdlZjUvdGFibGVyYW5nZTpmN2Y2YjhmOWE1MDY0YWQ0YjMyZDM1MDRmNDM0N2VmNV8wLTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTcyMTQyMGRmMzE1NDhlYzhhZTY0ZGZlNGM2ZjNlN2NfNA_819111ce-26b6-465b-a8e9-c27ead91f842">&#9744;</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr></table></div><div style="margin-top:2pt;text-indent:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">    FOR THE TRANSITION PERIOD FROM </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%;text-decoration:underline">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%"> TO </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%;text-decoration:underline">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">.</span></div><div style="margin-top:2pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Commission file number: <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityFileNumber" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yMjA_6216bbd5-ef23-4028-acbe-ea19e50e6a29">000-49796</ix:nonNumeric></span></div><div style="margin-top:2pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityRegistrantName" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yMjM_509ab7d0-c5e8-4aad-8658-f5714ccf64e2">COMPUTER PROGRAMS AND SYSTEMS, INC</ix:nonNumeric>.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(Exact Name of Registrant as Specified in Its Charter)</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:24.269%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr></table></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:48.532%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.443%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.625%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8wLTAtMS0xLTE4Njg5L3RleHRyZWdpb246OWY2NTEyY2RjYjE5NDNkNTlhZjA2NDZkMTU0MGY3MDZfNA_5733e166-12c5-439b-8c6e-75f0ea308a54">Delaware</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityTaxIdentificationNumber" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8wLTItMS0xLTE4Njg5L3RleHRyZWdpb246NzZhNGNjYmUwMGI4NDEzZTk3YzgzMDIyM2M1NTA2YWRfNA_7941cff8-81d4-4917-85af-2e0bdb8059bc">74-3032373</ix:nonNumeric></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(State or Other Jurisdiction of</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Incorporation or Organization)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(I.R.S. Employer</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Identification No.)</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityAddressAddressLine1" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8zLTAtMS0xLTE4Njg5L3RleHRyZWdpb246N2M5NDM1Y2E4ZmQ0NGY4MWEyYzk3NDdiODNhMjQzZDhfNA_b0a44c5e-e25d-456b-8af3-839389f2f37e">54 St. Emanuel Street</ix:nonNumeric>, <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityAddressCityOrTown" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8zLTAtMS0xLTE4Njg5L3RleHRyZWdpb246N2M5NDM1Y2E4ZmQ0NGY4MWEyYzk3NDdiODNhMjQzZDhfOA_f0e4f48d-6398-4500-84d6-f36233e8bf6d">Mobile</ix:nonNumeric>, <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8zLTAtMS0xLTE4Njg5L3RleHRyZWdpb246N2M5NDM1Y2E4ZmQ0NGY4MWEyYzk3NDdiODNhMjQzZDhfMTI_185e6ef3-d01e-41c1-978d-ee253862b95e">Alabama</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityAddressPostalZipCode" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8zLTItMS0xLTE4Njg5L3RleHRyZWdpb246ZGEyNjNmZGI4MTdlNDUwODhmMTA5YjcwZmM5OWVmZWNfNA_eb5395fa-f334-4d7f-bba2-07558dce031d">36602</ix:nonNumeric></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(Address of Principal Executive Offices)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(Zip Code)</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:CityAreaCode" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yODg_1d715cd3-250e-4de4-ab67-456afe5c8b32">251</ix:nonNumeric>) <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:LocalPhoneNumber" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yOTI_5f25c3a6-4f30-4605-9b77-9b61cdbe8031">639-8100</ix:nonNumeric></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">(Registrant&#8217;s telephone number, including area code)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Securities registered pursuant to Section&#160;12(b) of the Act:</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.987%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:28.578%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:34.135%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Title of each class</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Trading symbol</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Name of each exchange on which registered</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:Security12bTitle" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6YjQ5MWY1MGIzMjI3NGNlMmE0MTgxOWVkNmFiYjIxMzcvdGFibGVyYW5nZTpiNDkxZjUwYjMyMjc0Y2UyYTQxODE5ZWQ2YWJiMjEzN18xLTAtMS0xLTE4Njg5L3RleHRyZWdpb246Zjg3NTc4OGQwM2Y4NGE0MmE3MTRjMGI0YzQxNWM0YWFfNA_2ee0734e-b0b4-434a-9a85-4b391cd7244f">Common Stock, par value $.001 per share</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:TradingSymbol" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6YjQ5MWY1MGIzMjI3NGNlMmE0MTgxOWVkNmFiYjIxMzcvdGFibGVyYW5nZTpiNDkxZjUwYjMyMjc0Y2UyYTQxODE5ZWQ2YWJiMjEzN18xLTEtMS0xLTE4Njg5L3RleHRyZWdpb246YmVjYmUzZTdmZDY2NGY4ZDg3NzI2NzFjMDBiOTY4YjhfNA_c252bfe5-02ba-4d83-83ac-5c11c0104854">CPSI</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6YjQ5MWY1MGIzMjI3NGNlMmE0MTgxOWVkNmFiYjIxMzcvdGFibGVyYW5nZTpiNDkxZjUwYjMyMjc0Y2UyYTQxODE5ZWQ2YWJiMjEzN18xLTItMS0xLTE4Njg5L3RleHRyZWdpb246NzcxYjQ4ZWY1MGJjNGYwODgzMWY3YjVjN2VhYmZkOWJfNA_e6ae2805-5cad-4ef1-b6c9-292598353d25">The NASDAQ Stock Market LLC</ix:nonNumeric></span></div></td></tr></table></div><div style="margin-top:2pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Securities registered pursuant to Section&#160;12(g) of the Act:</span></div><div style="margin-bottom:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">None</span></div><div style="text-indent:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.&#160;&#160;&#160;&#160;Yes&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">&#168;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityWellKnownSeasonedIssuer" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN182MDk_10eea804-082c-4621-a0bb-7a19b05363db">No</ix:nonNumeric>&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">x</span></div><div style="margin-top:3pt;text-indent:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">Indicate by check mark if the registrant is not required to file reports pursuant to Section&#160;13 or Section&#160;15(d) of the Act.&#160;&#160;&#160;&#160;Yes&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">&#168;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityVoluntaryFilers" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN183NTM_6d112985-8b14-42e9-abc4-80a51cf2ba32">No</ix:nonNumeric>&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">x</span></div><div style="margin-top:3pt;text-indent:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant (1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">has filed all reports required to be filed by Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90 days.&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityCurrentReportingStatus" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18xMTA3_d105aa95-c9a8-4073-a26f-cda3520615df">Yes</ix:nonNumeric>&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">x</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">&#168;</span></div><div style="margin-top:3pt;text-indent:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityInteractiveDataCurrent" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18xNDM0_533e048e-424e-4d33-8098-77ae8ace582e">Yes</ix:nonNumeric>&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">x</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">&#168;</span></div><div style="margin-top:3pt;text-indent:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of "large accelerated filer," accelerated filer,&#8221; "smaller reporting company," and "emerging growth company" in Rule 12b-2 of the Exchange Act. (Check one):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:26.078%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:44.099%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.647%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.462%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Large&#160;accelerated&#160;filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#168;</span></div><div><span><br/></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6ZDBiYWQ5ZTI5ZjAyNDI2MTgzZDQxOGNiNzc5YjljZGUvdGFibGVyYW5nZTpkMGJhZDllMjlmMDI0MjYxODNkNDE4Y2I3NzliOWNkZV8wLTQtMS0xLTE4Njg5L3RleHRyZWdpb246YTE1MjVkNTQwODNjNDlkMGE5NTA0ODFkOTlhYWZmYzNfNA_186e73b5-7829-4c66-9907-926a1d2141bd">Accelerated filer</ix:nonNumeric></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#253;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Non-accelerated filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#168;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Smaller&#160;reporting&#160;company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6ZDBiYWQ5ZTI5ZjAyNDI2MTgzZDQxOGNiNzc5YjljZGUvdGFibGVyYW5nZTpkMGJhZDllMjlmMDI0MjYxODNkNDE4Y2I3NzliOWNkZV8xLTYtMS0xLTE4Njg5L3RleHRyZWdpb246MGUzZDcxYzFkNmY5NGZmMmI4OTRhOWUyNTc5MThhNjJfNQ_8a54fbd9-00ca-4102-bab5-5bcf1a30a2d3">&#9744;</ix:nonNumeric></span></div><div><span><br/></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Emerging Growth Company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6ZDBiYWQ5ZTI5ZjAyNDI2MTgzZDQxOGNiNzc5YjljZGUvdGFibGVyYW5nZTpkMGJhZDllMjlmMDI0MjYxODNkNDE4Y2I3NzliOWNkZV8yLTItMS0xLTE4Njg5L3RleHRyZWdpb246NWY1NmRlNTY2OGRmNGM0Njg3YTQ3ZGJhZmMxMmU4NDNfNQ_8b2118bd-e41c-4975-9a18-72bcf60cede7">&#9744;</ix:nonNumeric></span></div><div><span><br/></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">&#168;</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Indicate by check mark whether the registrant has filed a report on and attestation to its management's assessment of the effectiveness of its internal control of financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.  <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:IcfrAuditorAttestationFlag" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6ZDBiYWQ5ZTI5ZjAyNDI2MTgzZDQxOGNiNzc5YjljZGUvdGFibGVyYW5nZTpkMGJhZDllMjlmMDI0MjYxODNkNDE4Y2I3NzliOWNkZV80LTAtMS0xLTE4Njg5L3RleHRyZWdpb246ZTc3Y2I5NDA0OTZlNGVjM2EyYzZiNjgxODIwMjg5YWRfMzM4_1a9a4f0a-cbc2-44f3-9402-cf74babfd293">&#9746;</ix:nonNumeric></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-indent:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act).&#160;&#160;&#160;&#160;Yes&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:EntityShellCompany" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18xOTIz_4c0c2fbf-7fb9-4b95-8608-feea19c4c0d8">&#9744;</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">x</span></div><div style="text-indent:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">The aggregate market value of common stock held by non-affiliates of the registrant at June&#160;30, 2021</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%"> wa</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">s $<ix:nonFraction unitRef="usd" contextRef="i05745bcabd594d529e03b5a3f4a8bd28_I20210630" decimals="0" name="dei:EntityPublicFloat" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yMDQw_51846807-e1ea-471f-bc83-e24684e2ac43">407,759,614</ix:nonFraction>.</span></div><div style="text-indent:24pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%">As of March&#160;14, 2022, the registrant had outstanding <ix:nonFraction unitRef="shares" contextRef="id6e689a90f754916ab5348cc95023213_I20220314" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yMDg1_b1c3a5c5-440f-4486-99ef-11d2a2c324d4">14,621,905</ix:nonFraction> shares of its common stock.</span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:120%;text-decoration:underline">DOCUMENTS INCORPORATED BY REFERENCE IN THIS FORM 10-K</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:120%">:</span></div><div style="margin-top:3pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:DocumentsIncorporatedByReferenceTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yMzQ3_8347fb34-ca4e-40b9-a7b6-689d17241c04" escape="true">Portions of the definitive Proxy Statement for the 2022 Annual Meeting of Stockholders are incorporated by reference into Part III of this report to the extent described herein.</ix:nonNumeric></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_7"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">TABLE OF CONTENTS</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:14.735%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:67.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.884%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Item&#160;No.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Page&#160;No.</span></td></tr><tr><td colspan="6" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_10">Special Note Regarding Forward-Looking Statements</a></span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_10">4</a></span></div></td></tr><tr style="height:6pt"><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">PART I</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_16">Business</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_16">6</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_19">Overview</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_19">6</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_22">Industry Dynamics</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_22">6</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_25">Strategy</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_25">9</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_28">Our Products and Services</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_28">10</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_31">Software De</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_31">velopment</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_31">16</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_31">Product Management </a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_34">16</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_37">System Implementation and Training</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_37">16</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_40">Clients, Sales and Marketing</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_40">17</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_43">Backlog</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_43">18</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_46">Competition</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_46">19</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_49">Health Information Security and Privacy Practices</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_49">20</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_55">Managing Cybersecurity Risks</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_52">20</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_55">Intellectual Property</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_55">21</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_58">Material Government Regulations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_58">21</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_61">Human Capital</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_61">22</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_64">Executive Officers</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_64">23</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_67">Company Web Site</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_67">24</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_70">Risk Factors</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_70">25</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1B.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_73">Unresolved Staff Comments</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_73">43</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_76">Properties</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_76">43</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_79">Legal Proceedings</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_79">43</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_82">Mine Safety Disclosures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_82">43</a></span></div></td></tr><tr style="height:6pt"><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">PART II</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_88">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_88">44</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_91">Reserved</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_91">45</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_94">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_94">45</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_97">Quantitative and Qualitative Disclosures about Market Risk</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_97">59</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_100">F</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_100">inancial Statements a</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_100">nd Supplementary Data</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_100">60</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_205">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_205">96</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_208">Controls and Procedures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_208">96</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9B.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_211">Other Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_211">97</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9C.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_1102">Disclosure Regarding Foreign Jurisdictions that Prevent Inspection</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_1102">97</a></span></div></td></tr><tr style="height:6pt"><td colspan="6" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">PART III</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_217">Directors, Executive Officers and Corporate Governance</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_217">98</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_220">Executive Compensation</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_220">98</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_223">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_223">99</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_226">Certain Relationships and Related Transactions, and Director Independence</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_226">99</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_229">Principal Accountant Fees and Services</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_229">99</a></span></div></td></tr><tr style="height:53pt"><td colspan="6" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:14.735%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:67.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.884%"></td><td style="width:0.1%"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">PART IV</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_235">Exhibits and Financial Statement Schedules</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_235">100</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_238">Form 10-K Summary</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_238">100</a></span></div></td></tr><tr><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_241">SIGNATURES</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_241">100</a></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;padding-left:13pt">Portions of the definitive Proxy Statement for the 2022 Annual Meeting of Stockholders are incorporated by reference into Part III of this report to the extent described herein.</span></div></td></tr></table></div><div><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_10"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SPECIAL NOTE REGARDING FORWARD LOOKING STATEMENTS</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This Annual Report on Form 10-K contains forward-looking statements within the meaning of the "safe harbor" provisions of the Private Securities Litigation Reform Act of 1995. These forward-looking statements can be identified generally by the use of forward-looking terminology and words such as "expects," "anticipates," "estimates," "believes," "predicts," "intends," "plans," "potential," "may," "continue," "should," "will" and words of comparable meaning. Without limiting the generality of the preceding statement, all statements in this Annual Report relating to estimated and projected earnings, margins, costs, expenditures, cash flows, growth rates and future financial results are forward-looking statements. We caution investors that any such forward-looking statements are only predictions and are not guarantees of future performance. Certain risks, uncertainties and other factors may cause actual results to differ materially from those projected in the forward-looking statements. The following is a summary of the principal risks that could adversely affect our business, financial condition, results of operations and cash flows.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Risks Related to Our Industry</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the ongoing COVID-19 pandemic and related economic disruption;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">saturation of our target market and hospital consolidations;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">unfavorable economic or market conditions that may cause a decline in spending for information technology and services; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">significant legislative and regulatory uncertainty in the healthcare industry;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">exposure to liability for failure to comply with regulatory requirements; </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Risks Related to Our Business</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">competition with companies that have greater financial, technical and marketing resources than we have; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">potential future acquisitions that may be expensive, time consuming, and subject to other inherent risks;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to attract and retain qualified client service and support personnel;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">disruption from periodic restructuring of our sales force;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our potential inability to manage our growth in the new markets we may enter; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">exposure to numerous and often conflicting laws, regulations, policies, standards or other requirements through our international business activities;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">potential litigation against us;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our use of offshore third-party resources;</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Risks Related to Our Products and Services</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">potential failure to develop new products or enhance current products that keep pace with market demands; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">exposure to claims if our products fail to provide accurate and timely information for clinical decision-making;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">exposure to claims for breaches of security and viruses in our systems; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">undetected errors or problems in new products or enhancements;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our potential inability to convince customers to migrate to current or future releases of our products;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">failure to maintain our margins and service rates;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">increase in the percentage of total revenues represented by service revenues, which have lower gross margins;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">exposure to liability in the event we provide inaccurate claims data to payors;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">exposure to liability claims arising out of the licensing of our software and provision of services;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">dependence on licenses of rights, products and services from third parties;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">a failure to protect our intellectual property rights;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">exposure to significant license fees or damages for intellectual property infringement;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">service interruptions resulting from loss of power and/or telecommunications capabilities;</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Risks Related to Our Indebtedness</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our potential inability to secure additional financing on favorable terms to meet our future capital needs;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">substantial indebtedness that may adversely affect our business operations;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to incur substantially more debt;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">pressures on cash flow to service our outstanding debt;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">restrictive terms of our credit agreement on our current and future operations;</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Risks Related to Our Common Stock and Other General Risks</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">changes in and interpretations of financial accounting matters that govern the measurement of our performance;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the potential for our goodwill or intangible assets to become impaired;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">quarterly fluctuations in our financial results due to various factors;</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">volatility in our stock price; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">failure to maintain effective internal control over financial reporting;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">lack of employment or non-competition agreements with most of our key personnel; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">inherent limitations in our internal control over financial reporting;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">vulnerability to significant damage from natural disasters; and</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">exposure to market risk related to interest rate changes.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For more information about the risks described above and other risks affecting us, see "Risk Factors" beginni</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ng on page 25 of this Annual Report. We also caution investors that the forward-looking information described herein represents our </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">outlook only as of this date, and we undertake no obligation to update or revise any forward-looking statements to reflect events or developments after the date of this Annual Report.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_13"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART I</span></div><div id="i970301c9c50f467384dc14f962fc03da_16"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:31.286%"><tr><td style="width:1.0%"></td><td style="width:36.750%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:61.050%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;1.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">BUSINESS</span></td></tr></table></div><div><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_19"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CPSI is a leading provider of healthcare solutions and services for community hospitals and other healthcare systems and post-acute care facilities. Founded in 1979, CPSI offers its products and services through six companies - Evident, LLC ("Evident"), TruBridge, LLC ("TruBridge"), American HealthTech, Inc. ("AHT"), </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> iNetXperts, Corp. d/b/a Get Real Health ("Get Real Health"), TruCode LLC ("TruCode") and Healthcare Resource Group, Inc. ("HRG")</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. These combined companies are focused on improving the health of the communities we serve, connecting communities for a better patient care experience, and improving the financial operations of our clients. The individual contributions of each of these companies towards this combined focus are as follows:</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Evident, which makes up our acute Care EHR reporting segment, provides comprehensive acute care electronic health record ("EHR") solutions, Thrive and Centriq, and related services for community hospitals and their physician clinics.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">AHT, which makes up our post-acute Care EHR reporting segment, provides a comprehensive post-acute care EHR solution and related services for skilled nursing and assisted living facilities.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">TruBridge, our third reporting segment, focuses on providing business management, consulting, and managed information technology ("IT") services along with its complete revenue cycle management ("RCM") solution for all care settings, regardless of their primary healthcare information solutions provider.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Get Real Health, included within our TruBridge segment, delivers technology solutions to improve patient outcomes and engagement strategies with care providers.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">TruCode, included within our TruBridge segment, offers a cloud-based medical coding solution for hospitals of all sizes that improves productivity, accuracy and compliance, resulting in improved revenue cycle performance.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">HRG, which was acquired on March 1, 2022 and will be included within our TruBridge segment, provides specialized RCM solutions for facilities of all sizes.</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our companies currently support acute care facilities and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">po</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">st-acute care facilities with a geographically diverse customer mix primarily within the domestic community healthcare market. Our target market for our acute care solutions includes community hospitals with fewer than 200 acute care beds. Our primary focus within this defined target market is on hospitals with fewer than 100 beds, which comprise approxim</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ately 98% o</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">f our acute care hospital EHR customer base. Our target market for our TruBridge services includes community hospitals with fewer than 600 acute care beds. The target market for our post-acute care solutions consists of approximately</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 15,500 sk</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">illed nursing facilities that are either independently owned or part of a larger management group with multiple facilities. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2021, we generated revenues of $280.6 million from the sale of our products and services.</span></div><div id="i970301c9c50f467384dc14f962fc03da_22"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Industry Dynamics</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The healthcare industry is the largest industry in the United States economy, comprising approximately 19.7% of the U.S. gross domestic product in 2020 according to the Centers for Medicare and Medicaid Services ("CMS"). CMS estimates that national health spending is projected to grow at an average annual rate of 5.4% for 2019 through 2028 and will reach $6.2 trillion in 2028.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The COVID-19 pandemic has resulted in historic challenges for hospitals and health systems and the communities they serve. Hospitals and health systems are navigating financial and operational pressures that include: the high costs associated with preparing for a surge of COVID-19 patients and resource-intensive treatment, added expense due to supply chain and labor market disruptions, and loss of revenue due to lower patient volumes for nonemergent care.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Hospital expenditures grew by 6.4% to approximately $1.3 trillion in 2020, slightly faster than the 6.3% growth in 2019.  According to the American Hospital Association&#8217;s </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">AHA Hospital Statistics, 2021 Edition</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, there are approximately 3,900 community hospitals in the United States that are in our target market of hospitals with fewer than 200 beds, with approximately 2,900 of those in our primary area of focus of fewer than 100 acute care beds. In addition, there is a market of small specialty hospitals that focus on discrete medical areas such as surgery, rehabilitation and long-term acute care.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Notwithstanding the size and importance of the healthcare industry within the United States economy, the industry is constantly challenged by changing economic dynamics, increased regulation and pressure to improve the quality of healthcare. These challenges are particularly significant for the hospitals in our target market due to their more limited financial and human resources and their dependency on Medicare and Medicaid populations for a substantial portion of their revenue. However, we believe healthcare providers can successfully address these issues with the help of advanced medical information systems and our suite of complementary services. Specific examples of the challenges and opportunities facing healthcare providers include the following:</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Changing Economic Dynamics</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The economy of the healthcare industry, although not immune to general macroeconomic conditions, is heavily impacted by legislative and regulatory initiatives of the federal and state governments. These legislative and regulatory initiatives have a particularly significant impact on our customer base, as community hospitals typically generate a significant portion of their revenues from beneficiaries of the Medicare and Medicaid programs. Consequently, even small changes in these federal and state programs have a disproportionately larger effect on community hospitals as compared to larger facilities where greater portions of their revenues are typically generated from beneficiaries of private insurance programs. Medicare and Medicaid funding and reimbursements fluctuate year to year and, with the growth in healthcare costs, will continue to be scrutinized as the federal and state governments attempt to control the costs and growth of the program. The Medicaid program, which is a federal/state program managed by the individual states and dependent in part on funding from the states, also continues to experience funding issues due to the increasing cost of healthcare and limited state revenues.</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Mandatory cuts in federal spending resulting from the Budget Control Act of 2011 (the "Budget Control Act") became effective in March&#160;2013. Although Medicaid is specifically exempted from the cuts mandated by the legislation, the Budget Control Act includes a reduction of up to 2% in federal Medicare spending, which has been achieved by reduced reimbursements to healthcare providers. Additionally, the Patient Protection and Affordable Care Act, more commonly referred to as the Affordable Care Act (the "ACA"), has put into effect a number of provisions designed to reduce Medicare and Medicaid program spending by significant amounts. As the federal government seeks in the future to further limit deficit spending due to fiscal restraints, it will likely continue to cut entitlement spending programs such as Medicare and Medicaid matching grants, which will place further cost pressures on hospitals and other healthcare providers. Furthermore, federal and state budget shortfalls, exacerbated by the novel coronavirus ("COVID-19") pandemic, as described below, could lead to potential reductions in funding for Medicare and Medicaid. Further reductions in reimbursements from Medicare and Medicaid could lead to hospitals postponing expenditures on information technology.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">While legislative and regulatory initiatives are placing significant pressure on Medicare and Medicaid reimbursements, our customer base of community hospitals is also likely faced with increases in demand for Medicare and Medicaid services. We expect that the demand for Medicare and Medicaid services will increase for the foreseeable future due to the growing number of people born during the post-World War II baby boom that are becoming eligible for Medicare benefits at age 65, as well as states electing to expand Medicaid coverage under the provisions of the ACA. The challenges posed by this dual-threat of increased demand for Medicare and Medicaid services and downward pressure on reimbursements are further complicated by the shift away from volume-based reimbursement towards value-based reimbursement, linking reimbursement to quality measurements and outcomes.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Compounding the combined effects of a likely increase in demand for Medicare and Medicaid services and persistent pressure on related reimbursements, the increasing prevalence of high deductible health plans and value-based reimbursement models is transforming domestic healthcare delivery into a more patient-centric experience.  This transformation brings about new and increased data needs, resulting in additional regulatory demands for data that patients find useful in decision-making.  These new regulatory demands increase regulatory risks and compliance burdens for CPSI and our clients, but also pose opportunities for CPSI to provide additional value-added products and services to our target market.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">One such regulatory demand, the price transparency mandate, became effective in January 2021 for all U.S. hospitals.  This mandate requires that hospitals publicly post, online and in a searchable, consumer-friendly manner, standard charge information for at least 300 shopable services, which gives patients the ability to compare payer-specific negotiated charges across healthcare settings.  In response to this mandate, we announced in July 2020 the availability of a pricing transparency solution that gives patients the ability to shop for healthcare services based on price, supporting a more patient-driven healthcare experience. In mid-2021, CMS published additional commentary around price transparency requirements. Based on that additional commentary, we have continued to make additional enhancements to our price transparency solutions, specifically around the areas of payor-specific rates and the generation of patient estimates within the web based portal.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To compete in the continually changing healthcare environment, providers are increasingly using technology in order to help maximize the efficiency of their business practices, to assist in enhancing patient care, and to maintain the privacy and security of patient information. Healthcare providers are placing increased demands on their information systems to accomplish these tasks. We believe that information systems must facilitate management of patient information across administrative, financial and clinical tasks. Information systems must also effectively interface with a variety of payor organizations within the increasingly complex reimbursement environment.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The American Recovery and Reinvestment Act of 2009</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2009, the U.S. federal government enacted the American Recovery and Reinvestment Act (the "ARRA"), which included the Health Information Technology for Economic and Clinical Health Act ("HITECH").  HITECH authorized the EHR incentive program, which provided significant incentive funding to physicians and hospitals that can prove they have adopted and are appropriately using technology such as our EHR solutions.  The level to which healthcare providers must prove they are effectively utilizing such solutions in order to qualify for these incentives is measured through an escalating criteria designated as "meaningful use." </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Compliance with the meaningful use rules accelerated the purchases of incremental applications by our existing clients. Consequently, our penetration rates within our existing customer base for our current menu of applications have increased significantly under the ARRA, thereby significantly narrowing the market for add-on sales to existing clients in future years. As a result of the announcement from CMS on August 2, 2018 of a final rule changing the attestation period for 2019 and 2020 to any continuous 90-day period instead of the previously-required full year attestation period, hospitals had until October 1, 2019 to install compliant technology in order to meet the requirements of the program during 2019, compared to a deadline of January 1, 2019 under the previous rule. The stage three requirements of the meaningful use program (re-named "Promoting Interoperability" by such rule) provided a significant opportunity for add-on sales revenues during 2017 through 2019. The passing of the October 1, 2019 compliance deadline resulted in reduced MU3-related revenue opportunities throughout 2020 and 2021.  </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Continued Push for Improved Patient Care</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">With the increased pressure to improve the quality of healthcare and reduce costs, there is a general shift towards value-based reimbursement, which increases the demand for information technology solutions for clinical decision support. This migration toward clinical decision support solutions is further supported by the ARRA. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the face of decreasing revenue and increasing pressure to improve patient care, healthcare providers are in need of management tools and related services that (1)&#160;increase efficiency in the delivery of healthcare services, (2)&#160;reduce medical errors, (3)&#160;effectively track the cost of delivering services so that those costs can be properly managed and (4)&#160;increase the speed and rate of reimbursement. A hospital&#8217;s failure to adequately invest in a modern medical information system could result in fewer patient referrals, cost inefficiencies, lower than expected reimbursement, increased malpractice risk and possible regulatory infractions. Additionally, we believe that the industry will continue to increase its utilization of third party services that contribute to the achievement of these and other objectives necessary for success in the current environment. We believe these dynamics should allow for future revenue growth for both our information technology solutions and our complementary suite of services.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">COVID-19 Pandemic</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The healthcare industry remains at the forefront of the COVID-19 pandemic, with heroic efforts by healthcare providers on the frontlines and advances in technology and science bringing vaccines to market in an unprecedented timeframe. Looking beyond 2021, we believe the pandemic could lead to an acceleration of macro trends already developing in the industry. For example, it is likely that the pandemic advances the role of the federal government as the top regulator and payor for healthcare and that financial distress resulting from the pandemic increases the pace of health system consolidations. Additionally, the quick pivot to virtual healthcare in response to the pandemic has increased consumer expectations, particularly around the convenience of telemedicine and digital health options.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This quick pivot to virtual healthcare accelerated the ongoing increasing demand for telemedicine solutions and services, with recent history suggesting an evolving reimbursement environment that is becoming more receptive to telemedicine with each passing year.  In response to this trend and the necessity for virtual care imposed by the COVID-19 pandemic, we accelerated the product roadmap for Get Real Health&#8217;s Talk With Your Doc telehealth portal.  The product was introduced for general release by April 2020 and was provided to customers free of charge for the remainder of 2020 and throughout 2021.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_25"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Strategy</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our objective is to increase the market share of our TruBridge services, aggressively pursue competitive and vulnerable EHR replacement opportunities, and differentiate our products and services on a client experience basis that enables us to sell a broader set of services into a loyal base of clients that are our advocates. After partnering with a premium consulting firm to review our business and growth opportunities, 2021 marked the beginning of implementing a strategy to grow our core business while investing in new technologies and improving profitability. We are focused on the execution of our transformation initiative that continues to guide our strategic efforts to achieve core growth, margin optimization, and tangible upside through digital innovation:</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Core Growth: Our core growth initiatives include cross-selling TruBridge into the existing EHR base, expanding TruBridge market share with sales to new community and larger health systems, and pursuing competitive EHR takeaway opportunities.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Margin Optimization: These efforts support the core growth efforts as we routinely seek, find and execute on initiatives that modernize our business, increasing our efficiency and resulting in cost savings that we can then use to invest in additional growth.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Digital Innovation: Running parallel to our core growth and margin optimization initiatives is the upside, future growth component of our plan representing new and larger adjacency opportunities. The market drivers that fuel the pursuit of new innovation include an increased appetite for patient engagement, industry insights, reporting and analytics technology.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The healthcare industry is in the midst of transitioning to value-based reimbursement, care coordination and interoperability. Our strategy is to position our services and solutions with community healthcare providers so that they are able to respond to these changes positively by enabling them to improve community health and connect providers and patients within the community and with other communities, while improving financial operations. We intend to leverage several strengths to accomplish this goal.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Market Share/Scale</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Over the course of our more than 40 year history of providing valuable technology solutions and services to the acute care and post acute care environments, we have developed a significant customer base of community hospitals and skilled nursing facilities. This customer base is our most valuable asset, providing us with the critical mass necessary to scale our development, client support and service resources to meet the ever changing needs of our customers. In doing so, we solidify our position as a long-term partner with a proven track record in meeting the unique needs of community healthcare.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">EHR Solutions Across the Care Continuum</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our EHR solutions address the entire continuum of care, with systems that address the three primary care settings: ambulatory care, inpatient acute care and post-acute care. This enables providers to coordinate patient care across the major settings where care is delivered. New payment models in both the government and private payer sectors are focused on payment for delivering quality outcomes and keeping patients well while still delivering financial efficiencies. These financial efficiencies are realized through the elimination of duplicate tests performed in different care settings, as well as providing timely access to clinical information from other care settings, when making diagnostic decisions. Having integrated solutions across the care continuum facilitates this process for providers and healthcare organizations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Solutions and Services to Address Value-Based Reimbursement</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">With the continued emphasis on value-based reimbursement models, data analytics has become a critical tool for community healthcare providers to enable them to shift from reactive to proactive care delivery. We currently offer business intelligence as the first facet of a three-phase approach to analytics solutions, which we plan to expand to include predictive and prescriptive analytics. Because of the complexity inherent in data analytics, we will provide services to healthcare providers to assist them with certain aspects of data modeling and data analysis.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Interoperability</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We currently provide integration across our ambulatory and inpatient EHR solutions. This integration was expanded to encompass our post-acute care EHR product in 2016. In addition, as a founding member of the CommonWell Health Alliance, we enable healthcare organizations to identify, confirm and link patient encounters across the CommonWell network. This translates into patient data that is not only shareable within communities but across communities as well.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Focus on the Financial Health of Community Healthcare Providers</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Given the ongoing transition to value-based reimbursement models, community healthcare providers are under more financial pressure than ever before, and financial health and stability is essential to their longevity and survival. Our accounts receivable management services incorporate proven workflow and processes as well as industry leading revenue cycle management tools. A new aspect of many current payment models is an increasing shift of the financial burden to the patient. Community hospitals typically underperform in private pay collections because of the nature of community healthcare but cannot afford to forego the patient portion of contributions. Through our private pay services, providers can bring in much needed private pay receipts without alienating the local community.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our operational expertise and technology tools provide proven results in improving claim acceptance rates, accelerating payments from third party payers and increasing private pay collections. We also differentiate our services by working to maintain employment in the community by hiring displaced employees into TruBridge to continue their functional role under TruBridge program management.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Strategic Uses of Capital</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">2020 marked the culmination of a years-long evolution in the capital allocation strategy of CPSI, a strategy designed to afford the flexibility necessary to be adaptive and opportunistic with future capital allocation decisions.  Such flexibility is necessary if we are to continue to bring timely products and services to a rapidly changing healthcare landscape, serving the needs of multiple stakeholder groups as customers benefit from the related products and services and our stockholders benefit from the increasing diversity in revenue sources. Specific components of this years-long evolution include:</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%;padding-left:14.5pt;text-decoration:underline">Reducing our leverage profile, while increasing capital availability</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">:  From December 31, 2017 to December 31, 2021, our total bank debt decreased from $143.5 million to $100.4 million, while the amount available under our revolving credit facility has increased from $17.0 million to $79.0 million.  </span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%;padding-left:14.5pt;text-decoration:underline">Refinancing our debt</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">:  In June 2020, we refinanced our outstanding indebtedness with the primary objectives of increasing the maximum borrowing capacity under the revolving credit facility from $50.0 million to $110.0 million and removing absolute-dollar limits on acquisition activity.</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%;padding-left:14.5pt;text-decoration:underline">Announcing a share repurchase program, while simultaneously suspending all quarterly dividends</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">:  In September 2020, our Board of Directors approved a stock repurchase program under which the Company may repurchase up to $30.0 million of its outstanding shares of common stock over a two-year period.  Concurrent with the approval of the stock repurchase program, the Board of Directors opted to indefinitely suspend all quarterly dividends.  These joint actions allow CPSI to continue its commitment to returning capital to shareholders, while at the same time enhancing our flexibility to adapt to an ever-changing landscape of alternative uses of capital.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">This evolution in CPSI's capital allocation strategy created the flexibility necessary to opportunistically pursue value-enhancing acquisitions, including the 2019 acquisition of Get Real Health, the May 2021 acquisition of TruCode, and the March 1, 2022 acquisition of HRG.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Explore Additional Revenue Streams that Complement Existing Markets, Solutions and Services</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the EHR space, we are selling our ambulatory EHR solutions on a standalone basis with a focus on communities that already have one of our EHR solutions installed in an acute care setting. Also, we are actively pursuing expansion of our inpatient EHR product into the Canadian market through our own direct efforts and collaboration with key Canadian technology providers. In the United States EHR market, we are targeting other types of providers who have lagged behind inpatient acute care in EHR adoption such as ambulatory surgery centers, behavioral health facilities and inpatient psychiatric hospitals. In the post-acute care market, we are now providing an EHR solution for assisted living facilities in conjunction with our own post-acute care EHR for skilled nursing operators. In the services business we will continue to look for opportunities to add or increase services resulting from changing market dynamics, availability of technology or operational expertise, or changes in regulatory requirements. </span></div><div id="i970301c9c50f467384dc14f962fc03da_28"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Our Products and Services</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Evident and American HealthTech provide tailored IT solutions that effectively address the specific needs of small and midsize hospitals and their physician clinics, as well as skilled nursing facilities of all sizes across the U.S. Their broad offerings of software products and services collect, process, retain, and report data in the primary functional areas of these healthcare providers, from patient care to clinical processing to administration and accounting. Due to their smaller operating budgets, community hospitals have limited financial and human resources to operate manual or inefficient information systems. However, these hospitals are expected to achieve the same quality of care and regulatory compliance as larger hospitals, placing </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">them in a particularly difficult operating environment. These pressures on the operating environments of community hospitals were increased with the passage of the ARRA in 2009 which, in addition to providing incentives to healthcare providers to achieve meaningful use of EHR, has resulted in lowered Medicare payment levels for healthcare providers that have yet to achieve meaningful use of EHR.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that our acute care IT solutions meet these challenges facing community hospitals by providing fully integrated, enterprise-wide and ARRA-certified medical information systems and services that are compliant with the Health Insurance Portability and Accountability Act of 1996 ("HIPAA"). Further, through our wholly-owned subsidiaries, TruBridge, TruCode, Get Real Health and HRG, we offer business management, consulting and managed IT services, encoder and patient engagement solutions, along with full RCM solutions, that allow our acute and post-acute care clients to outsource all or just a portion of their business office function. Consulting and other services help clients avoid some of the fixed costs of a business office and leverage our expertise and resources in helping them identify their IT objectives, define the best way to meet those requirements and manage the resulting projects and associated technologies. As a result, we are capable of providing a single-source solution to healthcare organizations, making us a partner in their initiatives to improve operations and medical care.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a key component to providing complete solutions, we maintain strong partnerships with our clients through a variety of two-way communication channels, including our support teams, role-based user groups, client councils, client work groups, our annual National Client Conference and other organized events and venues that foster insightful and meaningful communication. By listening to our clients and staying abreast of market trends, we strive to provide the right healthcare solutions at the right time to help meet the specific business needs of acute and post-acute care organizations. Our business has continued to grow because we have successfully provided fully integrated, enterprise-wide information systems that allow community hospitals, their physician clinics and skilled nursing facilities to improve operating effectiveness, reduce costs and improve the quality of patient care.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Acute Care Software Systems</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Through our wholly-owned subsidiary, Evident, we offer healthcare IT solutions specifically designed to cater to the specific needs of community hospital organizations under the software solution platforms Thrive and Centriq. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Thrive</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">With the formation of Evident in 2015 came the introduction of our EHR solution under the name Thrive, previously sold under the CPSI name, through which we offer a full array of software applications designed to streamline the flow of information to the primary functional areas of community hospitals using one fully integrated system. We intend to continue to enhance our existing software applications and develop new applications as required by evolving industry standards and the changing needs of our clients. Pursuant to our client support agreements, we provide our clients with software enhancements and upgrades periodically on a when-and-if-available basis. See "Acute Care Support and Maintenance Services." These enhancements enable each client, regardless of its original installation date, to have the benefit of the most advanced Evident products available. Evident's software applications within Thrive:</span></div><div style="margin-top:9pt;padding-left:67.5pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">provide automated processes that improve clinical workflow and support clinical decision-making;</span></div><div style="margin-top:9pt;padding-left:67.5pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">allow healthcare providers to efficiently input and easily access the most current patient medical data in order to improve quality of care and patient safety;</span></div><div style="margin-top:9pt;padding-left:67.5pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">integrate clinical, financial and patient information to promote efficient use of time and resources, while eliminating dependence on paper medical records;</span></div><div style="margin-top:9pt;padding-left:67.5pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">provide tools that permit healthcare organizations to analyze past performance, model new plans for the future and measure and monitor the effectiveness of those plans;</span></div><div style="margin-top:9pt;padding-left:67.5pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">provide for rapid and cost-effective implementation, whether through the installation of an in-house system or through our Software as a Service ("SaaS") services; and</span></div><div style="margin-top:9pt;padding-left:67.5pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">increase the flow of information by replacing centralized data over which there is limited control with broad-based, secure access by clinical and administrative personnel to data relevant to their functional areas.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our software applications within Thrive are grouped for support purposes according to the following general functional categories described below:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Patient Management</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Our patient management software enables a hospital to identify a patient at any point in the healthcare delivery system and to collect and maintain patient information throughout the entire process of patient care on an enterprise-wide basis. Thrive's single database structure permits authorized hospital personnel to simultaneously access appropriate portions of a patient&#8217;s record from any point on the system. Our patient management software applications include: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Registration, Patient Accounting, Health Information Management, Patient Index, Enterprise Wide Scheduling, Contract Management, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Quality Improvement.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Financial Accounting</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Our financial accounting software provides a variety of business office applications designed to efficiently track and coordinate information needed for managerial decision-making. Our financial accounting software applications include: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Executive Information System, General Ledger, Accounts Payable, Payroll/Personnel, Time and Attendance, Electronic Direct Deposits, Human Resources, Budgeting, Fixed Assets, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Materials Management.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Clinical</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Our clinical software automates record keeping and reporting for many clinical functions including laboratory, radiology, physical therapy, respiratory care and pharmacy. These products eliminate tedious paperwork, calculations and written documentation while allowing for easy retrieval of patient data and statistics. Our clinical software applications include: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Laboratory Information Systems, Laboratory Instrument Interfaces, Radiology Information Systems, ImageLink Picture Archiving and Communication System (PACS), Physical Therapy and Respiratory Care, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Pharmacy. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Patient Care</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Our patient care applications allow hospitals to create computerized "patient files" in place of the traditional paper file systems. This software enables physicians, nurses and other hospital staff to improve the quality of patient care through increased access to patient information, assistance with projected care requirements and feedback regarding patient needs. Our software also addresses current safety initiatives in the healthcare industry such as the transition from written prescriptions and physician orders to computerized physician order entry. Our patient care software applications include: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Order Entry/Results Reporting, Point-of-Care System, Patient Acuity, ChartLink&#174;, Computerized Physician Order Entry (CPOE), Medication Verification, Resident Assessment Instruments, Thrive Provider EHR, Outreach Client Access, Electronic Forms, Physician Documentation, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Emergency Department System.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Enterprise Applications</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We provide software applications that support the products described above and are useful to all areas of the hospital. These applications include: ad hoc reporting, automatic batch and real-time system backups, an integrated fax system, archival data repository, document scanning and Microsoft Office integration, and an Application Portal. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Centriq</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2018, the products and services formerly offered under the Healthland logo, including Centriq, were brought into the Evident product family. The Centriq platform was brought to market in 2011 and is designed to be an intuitive user interface that is easy for clinicians to use and attractive to both patients and clinicians. Additionally, as a web-based platform, users are able to connect to the system from any device that is connected to the Internet. Ease of use combined with Centriq&#8217;s ability to centralize data from various care areas provide the end user with a powerful tool to view past and present patient information with ease. Each system or application offers a broad set of features and functionalities that can help clinics reduce costs, increase revenue, and improve administrative and clinical staff efficiency, all while enhancing patient care and safety. Key Centriq capabilities include:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Computerized Practitioner Order Entry ("CPOE")</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The cornerstone of inpatient EHR systems, CPOE promotes user adoption by including medication interaction alerts, access to relevant laboratory results, duplicate order checking, customizable order sets and protocols, and order templates containing pre-populated screens.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Clinical Documentation</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. This system securely enables a patient&#8217;s caregivers to view the vital signs, intake-output values, progress notes, and nursing tasks that are entered into the patient&#8217;s EHR.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Emergency Department</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. This system expedites and simplifies registration, patient tracking, order management, assessments, and other activities in a fast-paced environment. </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Laboratory</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. This system automates routine tasks such as lab order processing and tracking, enabling the practitioner to focus on the results and ultimately better patient care.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Radiology</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. This application delivers faster turnaround times and enhanced communications among caregivers by automatically processing radiology orders, managing and tracking images, and generating reports.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Pharmacy</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. This application helps pharmacies manage all aspects of medication verification and dispensing, including order coordination, interaction checks, administration, and charging.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Financial Accounting</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. A hospital financial accounting management solution that helps community hospitals gain better insight and perspective on their costs.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Patient Management</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. An accounting system to better manage patient information and automate the hospital billing process.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Ambulatory Software Solutions</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Enables clinicians to focus on providing high-quality patient care by streamlining the management of patient data.  </span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Post-acute Care Software Systems</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CPSI entered into the post-acute care market with the acquisition of AHT in January 2016. AHT, a leading provider of integrated solutions to the post-acute care industry, offers software solutions that promote data-driven clinical and financial outcomes for the customers they serve.  AHT's comprehensive, long-term care management solutions include:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Care Management</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. This integrated offering helps manage the delivery of quality care, collect and report on resident information, and manage compliance risk. Core modules include: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Work Center, Clinical, Smart Charting Order Administration (Point of Care), Quality Assurance, Therapy Tracking, Supplies Tracking, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Disease State Management</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Financial and Enterprise Management</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. This comprehensive set of financial solutions enables customers to improve cash flow and better manage costs.  Core modules include: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accounts Payable, General Ledger, Payroll, Financial Management, Trust Funds, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Enterprise Management.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Acute Care Support and Maintenance Services</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">After EHR installation, we provide software application support, hardware maintenance, continuing education and related services pursuant to a support agreement using our collaborative support model. The following describes services provided to customers using Thrive and Centriq:</span></div><div style="text-indent:18pt"><span><br/></span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;      </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Total System Support</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We believe the quality of continuing customer support is one of the most critical considerations in the selection of an information system provider. We provide hardware, technical and software support for all aspects of our system, which gives us the flexibility to take the necessary course of action to resolve any issue. Unlike our competitors who use third-party services for hardware and software support, we provide a single, convenient and efficient resource for all of our customers&#8217; system support needs. In order to minimize the impact of a system problem, we train our customer service personnel to be technically proficient, courteous and prompt. Because a properly functioning information system is crucial to a hospital&#8217;s operations, our support teams are available 24 hours per day to assist customers with any problem that may arise. Customers can also use the Internet to directly access our support system. </span></div><div style="padding-left:72pt;text-indent:-18pt"><span><br/></span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;      </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">National Client Conference</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. All of our customers have the opportunity to attend our annual National Client Conference. CPSI hosts this conference to provide our customers educational sessions, product demonstrations, and one-on-one time with application experts. The conference also allows important time for networking among customers and CPSI staff across all business platforms. As a result of the COVID-19 pandemic, our National Client Conference was held virtually in 2020 and 2021. In May 2022, the conference returns to an in-person event.</span></div><div style="padding-left:72pt;text-indent:-18pt"><span><br/></span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;      </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Continuing Education</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.  Effective learning tools are a key factor in successful EHR adoption and allowing clients to get the most out of a software investment. Therefore, ongoing learning and training is a cornerstone to our &#8220;total solution&#8221; and a key competitive differentiator. Our ongoing learning and training offerings also address some of the unique needs of community hospitals - limited resources and staff with cross-department </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="padding-left:72pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">responsibilities and budget and time constraints - all of which require a customized approach to learning and training.  To meet these needs, Evident offers customers with online content that can be accessed at any time, scheduled online interactive classroom presentations, on-campus training at our facilities in Mobile, Alabama and Minneapolis, Minnesota, educational sessions during user group conferences, and scheduled regional training sessions.   </span></div><div style="padding-left:72pt;text-indent:-18pt"><span><br/></span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;      </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Software Releases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We are committed to providing our customers with software and technology solutions that will continue to meet their information system needs. To accomplish this purpose, we continually work to enhance and improve our application programs. As part of this effort, for each customer covered under our general support agreement, we provide software updates as they become available at no additional cost. We design these enhancements to be seamlessly integrated into each customer&#8217;s existing system. The benefit of these enhancements is that each customer, regardless of its original installation date, uses the most advanced software available. Through this process, we can keep our customers up-to-date with the latest operational innovations in the healthcare industry as well as with changing governmental regulatory requirements. Another benefit of this "one system" concept is that our customer service teams can be more effective in responding to customer needs because they maintain a complete understanding of and familiarity with the one system that all customers use.</span></div><div style="padding-left:72pt;text-indent:-18pt"><span><br/></span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">       Purchasing a new information technology system requires the expenditure of a substantial amount of capital and other resources, and many customers are concerned that these systems will become obsolete as technology changes. Our periodic product updates eliminate our customers&#8217; concerns about system obsolescence. We believe providing this benefit is a strong incentive for potential customers to select our products over the products of our competitors.</span></div><div style="padding-left:72pt;text-indent:-18pt"><span><br/></span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;      </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Hardware Replacement</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. As part of our general support agreements, we are also committed to promptly replacing malfunctioning system hardware in order to minimize the effect of operational interruptions. By offering replacements of all hardware used in our system, we believe we are better able to meet and address all of the information technology needs of our customers.</span></div><div style="padding-left:72pt;text-indent:-18pt"><span><br/></span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;      </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Cloud Electronic Health Record (Cloud EHR)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We offer Cloud EHR services to customers via remote access telecommunications. Cloud EHR is a "Software as a Service" (or "SaaS") configuration and is in essence a subscription to access and use application software maintained by CPSI in a cloud environment for a monthly fee. Under this configuration, a customer is able to obtain access to an advanced EHR without a significant initial capital outlay. We store and maintain all Cloud EHR customers&#8217; critical patient and administrative data using TruBridge Cloud Computing Services. These customers access this information remotely through direct telecommunications connections.</span></div><div style="padding-left:72pt;text-indent:-18pt"><span><br/></span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;      </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Forms and Supplies</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. In addition to our support services, we offer our customers the standard and customized forms that they need for their patient and financial records, as well as the supplies necessary to support the operation of their server and peripheral equipment. Furnishing these forms and supplies helps us to achieve our objective of being a one-source solution for a hospital&#8217;s complete healthcare information system requirements.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Post-acute Care Support and Maintenance Services</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">AHT&#8217;s comprehensive and integrated solution set is backed by ongoing training and support by AHT to ensure that clients can maximize their software investment. This is demonstrated by:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Experienced and Dedicated Support Representatives</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Seasoned experts assigned to each client site that not only understand the challenges in the post-acute care industry, but know how to best address them. This includes proactive education on the key regulatory changes and requirements before they impact business operations.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Client Portal and Training</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Instant, on-line access to the most up-to-date industry information impacting long-term care, plus a vast array of product training opportunities.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Client Enhancement Council</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Access to a community of peers along with a robust set of resources and knowledge to help clients get the most out of their AHT investment.  </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Annual Client Symposium</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. An opportunity for clients to share best practices, gain industry insight on key topics impacting post-acute care providers, network with peers, and learn more about current and future AHT product and service offerings.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">TruBridge </span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We offer complementary services through TruBridge, our wholly-owned subsidiary, which can be grouped into the following categories:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Revenue Cycle Management Products</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. TruBridge RCM solutions empower providers and caregivers in hospitals, healthcare systems and skilled nursing organizations to accelerate their revenue cycle through a suite of comprehensive, web-based solutions designed to improve financial operations and staff productivity and increase reimbursement. Our RCM products include the following offerings:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:99pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:18.96pt;text-decoration:underline">Patient Liability Estimates</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Improve patient satisfaction, maximize point-of-service collections, and equip staff with the ability to provide transparent pricing with the Patient Liability Estimate ("PLE") module.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:99pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:18.96pt;text-decoration:underline">Eligibility Verification</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Reduce claim denials and carrier rejections by performing on-demand eligibility look-ups, assuring the care provided is covered. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:99pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:18.96pt;text-decoration:underline">Claim Scrubbing and Submission</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. A powerful claim management solution for submitting, validating, and processing a healthcare facility&#8217;s claims with ease and with a high quality of edits.  </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:99pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:18.96pt;text-decoration:underline">Remittance Management</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Remittance advice can be effortlessly gathered and managed with the Electronic Remittance Advice ("ERA") Retrieval and Remittance Management modules, simplifying workflow and involvement.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:99pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:18.96pt;text-decoration:underline">Denial/Audit Management</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Equips healthcare facilities with the tools necessary to combat denied and audited claims, assisting organizations in recovering lost revenue.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:99pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:18.96pt;text-decoration:underline">Contract Management</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Allows healthcare facilities to take control over complex healthcare </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">contracts by prospectively pricing every claim submitted to payers, retrospectively pricing every remittance to ensure proper payment was received, and modeling proposed contract terms during payer negotiations.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Revenue Cycle Management Services</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Our RCM services, including those of recently-acquired HRG, span a healthcare enterprise&#8217;s revenue cycle and provide clients with a strong alternative to in-house operations. These services leverage our deep service and technology experience and are designed to allow clients to streamline their administrative staffing while improving operational efficiencies. Our RCM services include the following service offerings: Accounts Receivable Management, Private Pay Service, Medical Coding, Revenue Cycle Consulting, and other additional Insurance and Patient Billing Services.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Consulting and Business Management Services</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Our consulting and business management services are designed to help healthcare organizations by assessing their needs, setting goals, and creating an action plan to achieve those goals, and, if needed, implementing the action plan. Many of our professional consultants possess decades of experience and all are skilled in adopting new technologies, redesigning processes, educating staff, and providing interim or on-going management services. Our consulting and business management services include the following service offerings: Consulting, Business Intelligence, Staffing, and Administrative</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Managed IT Services</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Our managed IT services provide a range of services designed to meet the IT needs of community healthcare enterprises. The pace of technological change can be overwhelming. Our services allow clients to affordably maintain an advanced IT infrastructure, meet regulatory requirements, and reduce risk. Our managed IT services include the following service offerings:  Cloud Services, Backup and Recovery, Collaboration and Connectivity, Security Services, Systems Management, and Help Desk.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Patient Engagement</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. In May 2019, the Company closed its acquisition of Get Real Health. Get Real Health delivers patient engagement and empowerment technology solutions to improve patient outcomes and engagement strategies with care providers. </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;text-decoration:underline">Encoder Solutions</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The Company entered the encoder market with the acquisition of TruCode in May 2021. TruCode develops, sells and supports encoder technology for the hospital, consulting and payer markets. TruCode is known for its knowledge-based coding methodology, which presents coding guidance and references at the point of coding, helping to improve coding accuracy and productivity.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For additional details on our products, service, and support offerings, visit www.evident.com (Evident),  www.healthtech.net (AHT), www.trubridge.com (TruBridge) www.getrealhealth.com (Get Real Health), www.trucode.com (TruCode), and www.hrgpros.com (HRG).</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the results of operations by segment, refer to Note 18 of the consolidated financial statements included herein.</span></div><div id="i970301c9c50f467384dc14f962fc03da_31"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Software Development </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The healthcare information technology industry is characterized by rapid technological change requiring us to continually make investments to update, enhance and improve our products and services. Software development costs are accounted for in accordance with ASC 350-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal-Use Software</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We capitalize incurred labor costs for software development from the time the preliminary project phase is completed until the software is available for general release. Research and development costs and other computer software maintenance costs related to software development are expensed as incurred. We estimate the useful life of our capitalized software and amortize its value on a straight-line basis over that estimated life, which is estimated to be five years. If the actual life of the asset is deemed to be impaired, a write-down of the value of the asset may be recorded as a charge to earnings. Amortization begins when the related features are placed in service.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We capitalized software development costs of approximately $9.4 million and $3.3 million during the years ended December 31, 2021 and 2020, respectively, with no such costs capitalized during 2019. In addition, these investments have resulted in total expenditures related to our Product Development Services division of approximately $30.4 million, $33.5 million, and $36.9 million during the years ended December&#160;31, 2021, 2020 and 2019, respectively. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note 5 to the consolidated financial statements included herein for additional information on software development costs.</span></div><div><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_34"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Product Management</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Through working with our customers and our internal stakeholders, Product Management has successfully identified many meaningful opportunities during 2020 and 2021. These opportunities have been in alignment with our Single Solution product strategy. This strategy creates solutions that are focused on workflows and our users' experiences. We utilize our customer councils (Provider, Nursing, Chief Financial Officer and Client Advisory) to prioritize these workflows. Workflow centric solutions allow us to address the most pressing needs our customers are facing and deliver solutions in a way that minimizes disruption and amplifies adoption. Over the past few years, we have invested in product infrastructure through application programming interfaces ("API") development as well as data normalization efforts. These efforts have been instrumental in development of new products and have allowed us to make significant progress supporting our strategy. These are foundational instruments that accelerate the pace of innovation.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Over the past 18 months, several meaningful partnerships have been established. These partnerships include MediComp, Qliqsoft, MediSolv, Vienna Advantage, Galen Healthcare and NovaRAD. The continued investment in our technology platform is increasing the speed of delivery of new products and creating a marketplace of choice for our customers.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accessibility, scalability and usability are critical product pillars. The investments in web based user experiences have addressed all three of these pillars. Single Solutions that have been identified and brought to market in 2021 include Communications Center, Thrive Web Client, Patient Connect, Notes, Patient Data Console, 3R and FMS, each of which supports a wide spectrum of user personas and industry specific workflows.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product Management has introduced a significant initiative to proactively understand user behaviors and product adoption. We are actively implementing a User Analytics platform on all CPSI cloud software platforms to collect and interpret user data into actionable information without added development time in order to continually improve user experiences, influence product roadmaps and provide meaningful insights.</span></div><div id="i970301c9c50f467384dc14f962fc03da_37"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">System Implementation and Training</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Conversion Services</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. When a client purchases or leases one of our systems, we convert their existing data to the new system. Our knowledge of hospital data processing, in conjunction with extensive in-house technical expertise, allows us to accomplish this task in a cost effective manner. When we install a new system, the data conversion has already occurred so that the system </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">is immediately operational. Our goal is for each client to be productive day one in order to eliminate time and money wasted on the costly and inefficient task of maintaining the same data on parallel systems. Our services also relieve the hospital staff of the time-consuming burden of data conversion. The conversion process is the initial phase of our long-term partnership and overall client experience.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Training</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. In order to integrate the new system and to ensure its success, we spend approximately sixteen weeks providing individualized training remotely and on-site at the go-live. We provide hardware and software application training for all hospital users, including staff members and healthcare providers, during all hospital shifts. We employ nurses, medical technicians, and providers along with our technical training staff in order to help us communicate more effectively with our clients during the training process. This training phase is also part of the overall client experience that is provided to all of our clients.</span></div><div id="i970301c9c50f467384dc14f962fc03da_40"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Clients, Sales and Marketing</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Target Markets</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The target market for our acute care EHR systems consists of community hospitals with fewer than 200 acute care beds, with a primary focus on hospitals with fewer than 100 acute care beds. In the United States, there are approximately 3,900 community hospitals with fewer than 200 acute care beds, with approximately 2,900 of these having fewer than 100 acute care beds. In addition, we market our products to small specialty hospitals in the United States that focus on discrete medical areas such as behavioral health, surgery, rehabilitation and long-term acute care. Approximately 98% of our existing acute care clients are hospitals with fewer than 100 acute care beds, while approximately 99% of our existing acute care clients are hospitals with fewer than 200 acute care beds</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The target market for our post-acute care EHR solution consists of approximately 15,500 long-term care and skilled nursing facilities in the United States. In addition, through a strategic relationship with Medtelligent, we are able to market an EHR for assisted living facilities creating add-on sales opportunities in our direct client base and new sales opportunities across the broader senior living market.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The expanded target market for our TruBridge services consists of small to mid-size hospitals in the United States. There are approximately 4,850 of these hospitals with fewer than 500 beds. In addition, we are now marketing our TruBridge services to post-acute care facilities, of which there are approximately 15,500 in the United States. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our strategy to grow our TruBridge business is centered around leveraging our established sales relationships within our substantial acute and post-acute EHR base in order to cross sell TruBridge services. In addition, we target hospitals that use competitor EHRs, including upmarket larger hospitals and health systems that manage their RCM operations in-house under  increasing financial pressure due to fluctuating patient volumes, increasing self-pay accounts and the impact of the COVID-19 pandemic.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A core initiative to our growth plan is to maintain a healthy retention rate across our EHR base and pursue conservative growth of new EHR clients, as they are critical to driving cross-sales with TruBridge. To obtain conservative growth of new EHR clients, we (1) target those hospitals under 100 beds in the United States that we believe are currently using a vendor that we have determined is vulnerable based on a variety of factors and (2) target English speaking countries outside the U.S. through active marketing efforts and establishing strategic business relationships. Our goal in the ambulatory market is to aggressively target physician practices in those communities where the local hospital is a current CPSI client.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our goal in the post-acute care market is to continue to target both individual facilities as well as larger multi-facility corporate entities. In addition, we intend to extend our penetration into the post-acute care market by offering an assisted living facility EHR solution that we believe will broaden the appeal of our solutions to those operators who offer multiple care settings in their organizations.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents our revenues generated from clients located within the U.S. ("Domestic") and all foreign countries, in total ("International").</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"></td><td style="width:57.541%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.171%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.571%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.171%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.571%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.175%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Year ended December&#160;31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sales revenues:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domestic</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274,521&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">257,883&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">270,966&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">International</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,108&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,605&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,668&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">280,629&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">264,488&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274,634&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:4pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="18" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"> International sales revenues are related to the Caribbean nation of St. Maarten, the islands of Turks and Caicos, Canada, England, Australia, the United Arab Emirates and the Netherlands.</span></div></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Sales Staff</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have dedicated sales organizations in all three business lines: acute care EHR, post-acute care EHR and business management, consulting and managed IT services. Many of our sales personnel are hired from within the Company and have previous experience in client support roles. We believe this experience positions them to more effectively sell our products and services within our target markets. Our sales organizations are generally divided into four areas: sales management, new client sales, existing client sales and sales support staff. New client sales staff are typically organized based on geographic territories, though we also have sales personnel that focus on national accounts in our post-acute care EHR business due to the number of national chain operators in that market. Our sales representatives who sell to existing clients have assigned clients within their territory, which is also geographically based. Some sales representatives in our services areas are assigned specifically to cross-sell services into our acute care EHR and post-acute care EHR client bases. A significant portion of the compensation for all sales personnel except for administrative support staff is commission based.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Marketing Strategy</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our corporate marketing strategy positions CPSI as a healthcare solutions company serving community healthcare organizations through our family of healthcare information technology companies. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our EHR software and services address providers across the care continuum, with a primary focus on the community healthcare market. We believe our ability to serve ambulatory, acute and post-acute care settings with our products will be especially appealing as new reimbursement models force the coordination of care by healthcare providers. Our ability to connect patients to care providers within their community and across communities through our own products and interoperability development, including our membership in the CommonWell Health Alliance, sets us apart from other competitors in our market. Our goal is to position ourselves as partners to community healthcare providers as they move to a more proactive care model based on the use of data analytics and patient engagement tools.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">With regard to business management, consulting and managed IT services, we will continue to leverage our proven track record of success in accounts receivable management and private pay collections for community healthcare providers. With the increasing complexity of reimbursement requirements and a global shift in healthcare towards an increase in patient financial responsibility, the ability of our services business to bring expertise and best practice operational efficiencies to bear is a significant competitive advantage. In consulting services, the added complexity brought about by the transition to the ICD-10 code set, a standard transaction code set for diagnostic purposes under HIPAA, has created a significant demand for our coding services. Our strategy is to leverage any services engagement, whether business, IT or consulting, into opportunities to cross-sell other services to the client.</span></div><div id="i970301c9c50f467384dc14f962fc03da_43"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Backlog</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Backlog consists of revenues we reasonably expect to recognize over the next twelve months under existing contracts. The revenues to be recognized may relate to a combination of one-time fees for system sales and recurring fees for support and maintenance and TruBridge services. As of December&#160;31, 2021, we had a twelve-month backlog of approximately $5 million in connection with non-recurring system purchases and approximately $281&#160;million in connection with recurring payments under support and maintenance and TruBridge services. As of December&#160;31, 2020, we had a twelve-month backlog of approximately $10 million in connection with non-recurring system purchases and approximately $242 million in connection with recurring payments under support and maintenance and TruBridge services.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_46"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Competition</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The market for our products and services is competitive, and we expect additional competition from established and emerging companies in the future. Our market is characterized by rapidly changing technology, global shifts in the healthcare system, evolving user needs and impactful regulatory and reimbursement changes. We believe the principal competitive factors that hospitals, clinics and post-acute care providers consider when choosing between us and our competitors are:</span></div><div style="margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">product features, functionality and performance;</span></div><div style="margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">range of services offered;</span></div><div style="margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">level of client service and satisfaction;</span></div><div style="margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">ease of integration and speed of implementation;</span></div><div style="margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">product price;</span></div><div style="margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">cost of services offered;</span></div><div style="margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">results of services engagements;</span></div><div style="margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">knowledge of the healthcare industry;</span></div><div style="margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">training provided;</span></div><div style="margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">sales and marketing efforts; and</span></div><div style="margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">company reputation.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe that we compete favorably with our competitors on these factors. Our principal competitors in the acute care EHR market are Cerner Corporation, Medical Information Technology, Inc. ("Meditech"), and MEDHOST, Inc. These companies compete with us directly in our target market of small and midsize hospitals. They offer products and systems that are comparable to our system and address the needs of hospitals in the markets we serve.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our secondary competitors in the acute care EHR market include Allscripts Healthcare Solutions, Inc. and Epic Systems Corporation. These companies are significantly larger than we are, and they typically sell their products and services to larger hospitals outside of our target market. However, they will sometimes compete with us directly or, more commonly, when a  larger health system who uses a system from one of these companies will offer it to a smaller hospital as part of a merger or alliance. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also face competition from providers of practice management systems, general decision support and database systems and other segment-specific applications. Any of these companies as well as other technology or healthcare companies could decide at any time to specifically target hospitals within our target market.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our principal competitors in the post-acute care EHR market are PointClickCare Corporation and MatrixCare, Inc. These companies compete with us directly in our target market of long-term post-acute care facilities.  They offer products and systems that are comparable to our system and address the needs of long-term care providers. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our principal competitors in the business management, consulting and managed IT services (which includes the services of recently-acquired HRG) market are Resolution Health, Inc., The Outsource Group Inc., Patient Focus, Inc., Xtend Healthcare Inc., Ensemble Health Partners, and nThrive, Inc. All of these companies provide one or more of the services we offer, with their primary focus being on business management services. The services they offer are comparable in scope to the competing services we offer. These companies all focus on providing services to the healthcare market.  Secondary competitors include ARx LLC, Citadel Outsource Group LLC, Patient Matters, LLC, KIWI-TEK, LLC, and Aviacode Inc. Our principle competitors for RCM solutions include RelayHealth Corp, SSI Group, LLC, Quadax Inc., Change Healthcare Holdings, Inc., Availity, LLC, and Navicure, Inc. Get Real Health's primary competitors include Relay Health, Get Well Network/Healthloop, Apollo Care Connect, Bridge Patient Portal, eClinicalWorks Patient Portal, Influence Health, and InteliChart. TruCode's primary competitors include 3M, Nuance and Optum.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Actual or perceived security breaches of our systems could harm the market perception of our products and services which could impact our retention of existing clients and ability to acquire prospective clients.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_49"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Health Information Security and Privacy Practices</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Health Insurance Portability and Accountability Act of 1996 ("HIPAA") is a federal law governing the use, disclosure, transmission and storage of certain individually identifiable health information, referred to as "protected health information," and that was enacted for the purpose of, among other things, protecting the privacy and security of protected health information. As directed by HIPAA, the Department of Health and Human Services (the "DHHS") has promulgated standards and rules for certain electronic health transactions, code sets, data security, unique identification numbers and privacy of protected health information. HIPAA and the standards promulgated by DHHS apply to certain health plans, healthcare clearinghouses and healthcare providers (referred to as "covered entities"), which includes our hospital and post-acute care clients. The Health Information Technology for Economic and Clinical Health Act and its implementing regulations published in January 2013 (the "HITECH Act") significantly expand HIPAA by extending privacy and security standards to "business associates" of healthcare providers that are covered entities. Under the HITECH Act, business associates are required to establish administrative, physical and technical safeguards and are subject to direct penalties for violations. Certain of our services frequently entail us acting as a healthcare clearinghouse and/or in the capacity of a business associate to the hospitals and post-acute care clients that we serve. As a result, we are covered by the patient privacy and security standards of HIPAA and subject to oversight by DHHS. We believe that we have taken all necessary steps to comply with HIPAA, as it applies to us as a business associate, but it is important to note that DHHS could, at any time in the future, adopt new rules or modify existing rules in a manner that could require us to change our systems or operations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Protecting individually identifiable health information and other sensitive data is a critical and essential function of CPSI&#8217;s operations and its software solutions. A variety of industry-standard approaches that meet or exceed regulatory requirements such as HIPAA and HITECH are employed. In order to avoid unauthorized access for the life span of this data, diverse methods of identification, authentication, authorization and encryption are utilized at various points throughout the operating system, application software and hardware.&#160;These methods and processes are shared amongst servers and other end-user devices and are complemented by change management processes and tools, which allow the software change control cycle to be a formal, defined process.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The collection, use, storage, disclosure, transfer, or other processing of any personal data regarding individuals in the European Union, including personal health data, is subject to the European Union&#8217;s General Data Protection Directive (&#8220;GDPR&#8221;), which became effective on May 25, 2018. The GDPR is wide-ranging in scope and imposes numerous requirements on companies that process personal data, including requirements relating to processing health and other sensitive data, obtaining consent of the individuals to whom the personal data relates, providing information to individuals regarding data processing activities, implementing safeguards to protect the security and confidentiality of personal data, providing notification of data breaches, and taking certain measures when engaging third-party processors. The GDPR also imposes strict rules on the transfer of personal data to countries outside the European Union, including the United States, and permits data protection authorities to impose large penalties for violations of the GDPR, including potential fines of up to &#8364;20 million or 4% of annual global revenues, whichever is greater. The GDPR also confers a private right of action on data subjects and consumer associations to lodge complaints with supervisory authorities, seek judicial remedies, and obtain compensation for damages resulting from violations of the GDPR.</span></div><div id="i970301c9c50f467384dc14f962fc03da_52"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Managing Cybersecurity Risks</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our business operations, including the provision of the products and services described above, involve the compilation and transmission of confidential information, including patient health information. We have included security features in our systems that are intended to protect the privacy and integrity of this information, but our systems may be vulnerable to security breaches, viruses, programming errors and other similar disruptive problems.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Board of Directors is responsible for exercising oversight of management&#8217;s identification of, and planning for, the material risks facing the Company, and we believe our policies and procedures are adequate to ensure that relevant information about cybersecurity risks and incidents is appropriately reported and disclosed. During 2020, the Board authorized the formation of an Innovation and Technology Committee comprised of members of the Board.  This Committee&#8217;s responsibilities include, but are not limited to, more closely monitoring and collaborating with the Company&#8217;s Governance, Risk &amp; Compliance (&#8220;GRC&#8221;) Committee. The purpose of the GRC is to assist the Board in fulfilling its oversight responsibility with respect to the Company's risk management, ethics programs, and information security/privacy programs. The oversight responsibility of the GRC includes, but is not limited to, planning and conducting audits, conducting investigations, assuring compliance with relevant laws, and ensuring compliance with the Company's Code of Conduct and Business Ethics and related policies. The GRC consists of a cross functional leadership team including the Chief Technology Officer, Corporate Information Security Officer, Chief Innovation Officer, Senior Vice President of TruBridge, Corporate Compliance Officer, Corporate General Counsel, and Chief Financial Officer. </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, we appointed a Security Operations Center ("SOC") Director to oversee a number of initiatives designed to improve our cybersecurity protection, readiness and response. The Company partnered with a third party to provide Security as a Service ("SECaaS") to assist our internal SOC in reducing the likelihood and impact of a cybersecurity attack. The SOC oversees penetration testing, vulnerability scanning, intrusion prevention, endpoint and insider threat detection, log management and other cybersecurity-related projects. The Company consulted with third parties in 2017 and 2018 to conduct an evaluation of our cybersecurity risks. The Company also consulted with third parties to achieve ISO 27001 certification related to information security management, which was achieved during 2020. Finally, all users employed by or contracted to the Company are required to complete annual cybersecurity education and training, which includes identifying suspicious emails, internet threats, telecommunication threats and ransomware.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Although a portion of our workforce has returned to in-office environments following guidelines established by the Centers for Disease Control and Prevention, the successful expansion of work-from-home arrangements during the COVID-19 pandemic, in terms of employee productivity and satisfaction, has resulted in many of these arrangements becoming permanent.  As such, we anticipate that our go-forward workforce will be more heavily distributed to remote work environments, and we will continue to focus on not introducing vulnerabilities into our technology systems..</span></div><div id="i970301c9c50f467384dc14f962fc03da_55"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intellectual Property</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We regard some aspects of our internal operations, software and documentation as proprietary, and rely primarily on a combination of contract and trade secret laws to protect our proprietary information. We believe, because of the rapid pace of technological change in the computer software industry, trade secret and copyright protection is less significant than factors such as the knowledge, ability and experience of our employees, frequent software product enhancements and the timeliness and quality of our support services. The source code for our proprietary software is protected as a trade secret. We enter into confidentiality or license agreements with our vendors, consultants and clients, and control access to and distribution of our software, documentation and other proprietary information. We cannot guarantee that these protections will be adequate or that our competitors will not independently develop technologies that are substantially equivalent or superior to our technology.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not believe our software products or other CPSI proprietary rights infringe on the property rights of third parties. However, we cannot guarantee that third parties will not assert infringement claims against us with respect to current or future software products or that any such assertion may not require us to enter into royalty arrangements or result in costly litigation.</span></div><div id="i970301c9c50f467384dc14f962fc03da_58"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Material Government Regulations</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our business operations are subject to various federal, state and international laws, and our products and services are governed by a number of rules and regulations. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For example, we are affected by the following regulations:</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">As discussed above, the HIPAA security and privacy standards affect our claims transmission services, since those services must be structured and provided in a way that supports our clients&#8217; HIPAA compliance obligations, and GDPR is applicable to certain of our activities conducted from an establishment in the EU and our operations that are targeting clients and activities within the EU.</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.15pt">The United States Food and Drug Administration (the &#8220;FDA&#8221;) has determined that certain of our solutions, such as our ImageLink&#174; product, are medical devices that are actively regulated under the Federal Food, Drug and Cosmetic Act, as amended.</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.15pt">The use of our solutions by physicians for electronic prescribing and electronic routing of prescriptions via the Surescripts network to pharmacies is governed by federal and state laws. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">States have differing regulations that govern the electronic transmission of certain prescriptions and prescription requirements.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Although there is no assurance that existing or future government laws, rules and other regulations applicable to our operations, products or services will not have a material adverse effect on our capital expenditures, results of operations and competitive position, we do not currently anticipate materially increased expenditures in response to government regulations or future material impacts to our results or competitiveness. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These regulations and related risks are described in more detail below under &#8220;Risk Factors&#8221; beginning on page 25 of this Annual Report.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_61"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Human Capital</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, we had approximately 2,000 employees, the substantial majority of which are located at our offices in Alabama, Mississippi, Pennsylvania, and Minnesota. None of our employees are covered by a collective bargaining agreement or are represented by a labor union with respect to his or her employment with us. We have not experienced any work stoppages and we consider our relations with our employees to be good.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We seek to be an employer of choice to attract and retain top talent in order to deliver a one-of-a-kind service and to fully leverage the strengths of our workforce to exceed customer expectations and meet our growth objectives. By improving employee satisfaction, retention, and engagement, we also improve our ability to support our customers and protect the long-term interests of our stockholders.  To that end, we strive to foster an engaged, diverse, inclusive, safe, purpose-driven culture where employees have equitable opportunities for success.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">COVID-19 Response</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As the impact of COVID-19 continues to evolve, so have our processes.  In true CPSI spirit, our talented leaders and employees focused their attention on keeping each other, our families, and our clients safe; supporting our clients&#8217; vital missions; and protecting our business. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CPSI has continued to monitor correspondence from the Centers for Disease Control and Prevention ("CDC") and other federal and state agencies for developments and updated guidance on COVID-19. While we continue to follow the guidance of public health agencies, CPSI launched an internal employee taskforce to monitor COVID-19 developments. Their focus is to build internal strategies designed to protect our employees and our customers, and to highlight areas of critical importance to support the execution of business outcomes. The taskforce is comprised of cross-functional business leaders that evaluate changing risks and respond appropriately through employee communication design and policy updates.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Out of sincere commitment to and concern for our employees, their families and communities, CPSI took several actions to outwardly display our corporate responsibility for a safe and healthy workforce and to mitigate disruptions to business operations, such as: hosted on-site vaccine clinics for employees and their families, offered paid-time off to receive the COVID-19 vaccinations, held an employee vaccine incentive drawing, and other virtual employee engagement communications.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are continuing to monitor and address COVID-19&#8217;s ongoing effects on our employees and their families, our clients, and the healthcare communities which we support. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Diversity, Equity and Inclusion</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are committed to creating a welcoming and inclusive environment, where everyone is inspired to be the best they can be and feels empowered to openly express opinions and ideas that help drive innovation, progress, and excellence.  We eagerly promote our relentless commitment to creating an inclusive and respectful culture across our family of companies. We are steadfast in our responsibility to embrace the diversity of all people and demonstrate our values &#8211; collaborative, dependable, proactive, empathetic and agile - with an unwavering focus on those essential to the Company achieving sustainable and meaningful growth. We have a long-standing commitment to equal employment opportunity ("EEO"), as evidenced by the Company&#8217;s EEO policy.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of our commitment the Company launched our Inclusion, Diversity, Equity Alliance ("Team IDEA") in 2020, an employee-led council with executive sponsorship that is focused on strengthening company-wide engagement on diversity, equity and inclusion, providing learning opportunities for our employees, and helping to identify areas for improvement and monitor progress against these initiatives. In 2021, Team IDEA executed on three initiatives: engaged employees through a series of monthly Diversity, Equity and Inclusion ("DEI") awareness topics with unique activities to promote a comprehensive employee learning experience, launched a DEI Employee Survey, and deployed policy updates that provide a greater sense of inclusiveness. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Now, more than ever, we are committed to listening with open hearts and leading with empathy &#8212; toward each other, toward our customers and toward our healthcare communities. We continue to invite our people leaders, board, clients, and community leaders, along with our chief people officer, to advise us along this journey. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Compensation and Benefits</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We compensate employees with competitive wages and benefit programs designed to meet employee needs. Our compensation program is designed to recognize our employees' contributions to service excellence and business results. We use a combination </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of fixed and variable pay including base salary, bonus, commissions and merit increases which vary across the Company. In addition, as part of our incentive plan for executives and certain employees, we provide share based compensation to attract, retain and motivate our key leaders. For further information concerning our equity incentive plans, see Note 9, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock-based Compensation and Equity.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As the success of our employees is fundamentally connected to the well being of our people, our healthcare and benefit programs focus on three key pillars:  physical, emotional, and financial well-being. We offer a wide array of benefits including comprehensive health and welfare insurances, a 401(K) plan with employer-match, generous time-off, paid maternity leave, identity theft insurance, and financial support. We provide emotional well-being services through our medical carrier and associated Employee Assistance Program. In addition, our financial education tools offer employees resources to reach their personal financial goals.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We continue to partner with our employees to understand how we can better support their health and wellness while allowing them to be their true and authentic selves at work every day.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Development</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our goal is to create opportunities for employee growth, development, education and training, including opportunities to cultivate talent and identify candidates for new roles from within the Company. We strive to ensure that we have the right leaders in place to drive our strategic initiatives not only today but also into the future. We are committed to a safe workplace and an ethical environment in which employees are respected in a culture of belonging and dignity and in which they can continually develop their skills and expertise to advance their careers</span><span style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also believe that ongoing performance feedback encourages greater engagement in our business and improved individual performance. Each year, our employees participate in our Performance Development Program that summarizes key accomplishments for the preceding year, establishes new goals, and identifies critical capabilities for development. We encourage managers to solicit and share supportive 360-degree feedback, further strengthening the focus on teamwork and team success.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Employee Recruitment</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our key talent philosophy is to develop talent from within and supplement with external hires. This approach has yielded a deep understanding among our employee base of our business, vision, products, services and clients, while adding new employees and ideas in support of our continuous improvement mindset. As a direct result of the operational COVID-19 pandemic adjustments made to the organization during 2020, the opportunity became available to offer more work from home positions, whereas before, they would have been conducted from within an office space. Leveraging work collaboration tools and other technologies, the ability to hire remote employees has supported our efforts to grow our internal talent and welcome employees from diverse backgrounds and geographies, creating deeper team collaboration and a more engaging client experience. Our recruitment team uses internal and external resources to recruit diverse, highly skilled and talented workers, and we encourage employee referrals for open positions.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Communication and Engagement</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Given the geographic diversity of our workforce, we use multiple modalities in our communication efforts.  Our email and the employee hotline have been bolstered by the inclusion of all-employee texting and weekly all-employee communications. Other efforts include live teleconference all-employee meetings hosted by a variety of our leaders. Additionally, leaders participate in monthly business updates that facilitate awareness of business initiatives, progress and results.  These meetings encourage cross-functional collaboration and help ensure that teams are not working in silos.  These efforts have led to our ability to deliver a more consistent message across all of our constituencies and thereby improve engagement.   </span></div><div id="i970301c9c50f467384dc14f962fc03da_64"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Executive Officers</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The executive officers of CPSI serve at the pleasure of the Board of Directors. Set forth below is a list of the current executive officers of CPSI and a brief explanation of each individual&#8217;s principal employment during the last five years.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">J. Boyd Douglas</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> &#8211; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">President and Chief Executive Officer.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> J. Boyd Douglas, age 55, has served as our President and Chief Executive Officer since May 2006. He was first elected as a director in March 2002. Mr.&#160;Douglas began his career with us in August 1988 as a Financial Software Support Representative. From May 1990 until November 1994, Mr.&#160;Douglas served as Manager of Electronic Billing, and from December 1994 until July 1999, he held the position of Director of Programming Services. From July 1999 until May 2006, Mr.&#160;Douglas served as our Executive Vice President and Chief Operating Officer. </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">David A. Dye</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> &#8211; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Chief Growth Officer.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> David A. Dye, age 52, was appointed as our Chief Growth Officer in November 2015, having previously served as our Chief Financial Officer, Secretary and Treasurer from June&#160;2010 until November 2015. Mr.&#160;Dye served as our President and Chief Executive Officer from July 1999 to May 2006. He was first elected as a director in March 2002 and served as our Chairman of the Board from May 2006 until April 2019. Mr.&#160;Dye began his career with CPSI in May 1990 as a Financial Software Support Representative and served in various capacities until July 1999. Mr.&#160;Dye served as a director of Bulow Biotech Prosthetics, LLC, a company headquartered in Nashville, Tennessee that operates prosthetic clinics in the Southeastern United States, from July 2006 until October 2018.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Christopher L. Fowler &#8211; Chief Operating Officer and President (TruBridge).</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Christopher L. Fowler, age 46, was appointed as our Chief Operating Officer in November 2015 and has served as the President of TruBridge since its formation in January 2013. Prior to the formation of TruBridge, Mr.&#160;Fowler served as CPSI&#8217;s Vice President - Business Management Services, beginning in March 2008. Mr.&#160;Fowler began his career with CPSI in May 2000 as a Software Support Representative and later as a manager of Financial Software Services. From August 2004 until March 2008, Mr.&#160;Fowler served as Assistant Director and Director of Business Management Services.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Matt J. Chambless</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> &#8211; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Chief Financial Officer, Secretary and Treasurer.  </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Matt J. Chambless, age 41, was appointed as our Chief Financial Officer, Secretary and Treasurer in November 2015, having previously served as our Director of Financial Reporting from March 2012 until November 2015.  Prior to joining CPSI, Mr. Chambless served as the Accounting Manager for Northside Hospital System from May 2011 until March 2012 and as an audit professional, including an Audit Manager, for Grant Thornton, LLP from August 2004 to May 2011.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Robert D. Hinckle</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> &#8211; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Senior Vice President&#8211;Client Services.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Robert D. Hinckle, age 52, served as our Vice President - Software Services from October 2004 until January 2013 and has served as our Senior Vice President - Client Services since January 2013. Since beginning his career with CPSI in 1995 as a Financial Software Support Representative, Mr.&#160;Hinckle has worked in various positions in our Software Services Division, including Team Manager, Assistant Director and Director of that division.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amaris A. McComas - Chief People Officer. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amaris A. McComas, age 39, was appointed as our Chief People Officer in May 2021. Prior to joining CPSI, Ms. McComas served as the Head of HR Transformation and Strategy for Equitable from January 2020 until April 2021. She also held various HR leadership roles at Teachers Insurance and Annuity Association of America ("TIAA") from August 2016 until January 2020, including Senior Director of Talent Acquisition, Head of Talent and Learning for TIAA Bank, and Senior HR Business Partner for the Office of the CFO.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dawn M. Severance - Senior Vice President of Sales (TruBridge). </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dawn M. Severance, age 52, was appointed as our  Senior Vice President of Sales for TruBridge in January 2021. Ms. Severance joined CPSI as part of the Healthland acquisition in 2016 where she served as Vice President of Sales. From 2002 until 2016, she served in various roles within Healthland, including Implementation and Application Specialist before moving into Account Management and Sales. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">J. Patrick Murphy - Senior Vice President (TruBridge).</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> J. Patrick Murphy, FHFMA, MBA, age 49, was appointed as our Senior Vice President (TruBridge) in January 2021. Mr. Murphy began his career with CPSI in 2011 as a Director of Consulting Services and served as a Senior Director of Consulting Services from October 2017 until March 2018 followed by Vice President - Business Services from March 2018 until January 2021. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Claire H. Stephens - Senior Vice President (AHT).</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Claire H. Stephens, age 45, was appointed as our Senior Vice President (AHT) in October 2020. Ms. Stephens served as Vice President of Client Services for AHT from March 2014 until October 2020. Since beginning her career with AHT in February 2000 as a software implementation representative, Ms. Stephens served in various positions in Client Services, including Senior Services Representative and Staff Training Manager, and served as the Director of Client Services from 2005 until March 2014.</span></div><div id="i970301c9c50f467384dc14f962fc03da_67"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Company Web Site</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains a web site at http://www.cpsi.com. The Company makes available on its web site, free of charge, its Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K, and all amendments to those reports, as soon as it is reasonably practicable after such material is electronically filed with the Securities and Exchange Commission. The Company is not including the information contained on or available through its web site as a part of, or incorporating such information into, this Annual Report on Form 10-K.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_70"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:31.286%"><tr><td style="width:1.0%"></td><td style="width:36.750%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:61.050%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;1A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">RISK FACTORS</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">These are not the only risks and uncertainties that we face. Our business, financial condition, operating results, and stock price can be materially and adversely affected by a number of factors, whether currently known or unknown, including, but not limited to, those described below. Any one or more of such factors could directly or indirectly cause our actual financial condition and operating results to vary materially from our past or anticipated future financial condition or operating results.</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">RISKS RELATED TO OUR INDUSTRY</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The impact of the ongoing COVID-19 pandemic and related economic disruptions have materially affected our revenue and could materially affect our gross margin and income, as well as our financial position and/or liquidity.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Beginning in March 2020, the global pandemic related to the novel coronavirus COVID-19 began to impact the global economy and our results of operations. Because of the size and breadth of this pandemic, all of the direct and indirect consequences of COVID-19 are not yet known and may not emerge for some time. Risks presented by the ongoing effects of COVID-19 include the following:</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Revenues, Gross Margin, and Income. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The impact of COVID-19 on our community hospital client base, and the related decrease in patient volumes, have negatively impacted, and will continue to negatively impact, our variable revenues, gross margins and income driven by collection volume. Additionally, new EHR system installations have been, and will continue to be, negatively impacted by restrictive travel and social distancing protocols. The Company began to experience these impacts in March 2020, which increased in significance in the second quarter of 2020 before gradually improving over the remainder of 2020 and 2021. However, uncertainty remains with respect to the pace of economic recovery, as well as the potential for resurgences in transmission of COVID-19 and related business closures due to the emergence of virus variants and vaccine hesitancy and refusal among various populations. In addition, although we have experienced no notable disruption to our operating cash flows through the date of this report, we currently expect that the aforementioned limitations on travel and decreased client patient volumes will ultimately result in decreased cash collections from our customers as long as these conditions persist. For further discussion, see &#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Failure to maintain our margins and services rates for implementation services could have a material adverse effect on our operating performance and financial conditions&#8221;.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Adverse Legislative and/or Regulatory Action. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal, state and local government actions to address and contain the impact of COVID-19 have adversely affected and may continue to adversely affect us. For further discussion, see &#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">There is significant uncertainty in the healthcare industry, both as a result of recently enacted legislation and changing government regulation, which may have a material adverse impact on the businesses of our hospital clients and ultimately on our business, financial condition and results of operations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">Operational Disruptions and Heightened Cybersecurity Risks. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our operations could be disrupted if key members of our senior management or a significant percentage of our workforce or the workforce of our client community hospitals are unable to work because of illness, government directives or otherwise. Having shifted to remote working arrangements, we also face a heightened risk of cybersecurity attacks or data security incidents and are more dependent on the internet and telecommunications access and capabilities. For further discussion, see &#8220;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Breaches of security and viruses in our systems could result in client claims against us and harm to our reputation causing us to incur expenses and/or lose clients</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The extent to which the COVID-19 pandemic will impact our financial condition and results of operations will depend on future developments, which are highly uncertain and difficult to predict, including, but not limited to, the duration and spread of the pandemic, its severity, the actions to contain the virus or treat its impact, the speed at which vaccines are deployed and their effectiveness against COVID-19 variants and how quickly and to what extent normal economic and operating conditions can resume. Even after the COVID-19 pandemic has subsided, we may experience material adverse impacts to our business as a result of the global or U.S. economic impact and any recession that has occurred or may occur in the future. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, concerns over the economic impact of the COVID-19 pandemic have caused extreme volatility in financial and other capital markets which has and may continue to adversely impact our stock price and may adversely impact our ability to access capital, at all or on reasonable terms. To the extent the COVID-19 pandemic adversely affects our business and financial results, it may also have the effect of heightening many of the other risks described herein. </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">There are a limited number of hospitals in our target market. Saturation or consolidation in the healthcare industry could result in the loss of existing clients, a reduction in our potential client base and downward pressure on the prices of our products and services.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The limited number of hospitals with fewer than 200 acute care beds in our general target market for our acute care product and service offerings has resulted in an ever narrowing market for new system installations and add-on sales which could materially and adversely impact our business, financial condition and operating results.  </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our primary objectives are to increase the market share of our TruBridge services, aggressively pursue competitive and vulnerable EHR replacement opportunities, and differentiate our products and services on a client experience basis that enables us to sell a broader set of services into a loyal base of clients that are our advocates. Although we have formulated strategic responses for capitalizing on each of the identified opportunities, there is no guarantee that such responses will ultimately prove successful.  Additionally, to the extent that these opportunities fail to develop or develop more slowly than expected, our business, financial condition and operating results could be materially and adversely impacted.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furthermore, many healthcare providers have consolidated to create larger healthcare delivery enterprises with greater market power. If this consolidation continues, we could lose existing clients and could experience a decrease in the number of potential purchasers of our products and services. The loss of existing and potential clients due to industry consolidation could cause our revenue growth rate to decline. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Economic, market and other factors may cause a decline in spending for information technology and services by our current and prospective clients which may result in less demand for our products, lower prices and, consequently, lower revenues and a lower revenue growth rate.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase of our information system involves a significant financial commitment by our clients. At the same time, the healthcare industry fac</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">es significant financial pressures that could adversely affect overall spending on healthcare information technology and services. For example, the COVID-induced recession, combined with actual and potential further reductions in federal and state funding for Medicare and Medicaid, has caused hospitals to reduce, eliminate or postpone information technology related and other spending. To </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the extent spending for healthcare information technology and services declines or increases slower than we anticipate, demand for our products and services, as well as the prices we charge, could be adversely affected. Accordingly, we cannot assure you that we will be able to increase or maintain our revenues or our revenue growth rate.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">There is significant uncertainty in the healthcare industry, both as a result of recently enacted legislation and changing government regulation, which may have a material adverse impact on the businesses of our hospital clients and ultimately on our business, financial condition and results of operations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The healthcare industry is subject to changing political, economic and regulatory influences that may affect the procurement processes and operation of healthcare facilities, including our hospital clients. During the past decade, the healthcare industry has been subject to increased legislation and regulation of, among other things, reimbursement rates, payment programs, information technology programs and certain capital expenditures (collectively, the "Health Reform Laws").</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Health Reform Laws contain various provisions which impact us and our clients. Some of these provisions have a positive impact, by expanding the use of electronic health records in certain federal programs, for example, while others, such as reductions in reimbursement for certain types of providers, have a negative impact due to fewer available resources. The continued increase in fraud and abuse penalties is expected to adversely affect participants in the healthcare sector, including us.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Among other things, the Health Reform Laws provide for the expansion of Medicaid eligibility, mandate material changes to the delivery of healthcare services and reduce the reimbursement paid for such services in order to generate savings in the Medicare program. The Health Reform Laws also modify certain payment systems to encourage more cost-effective, quality-based care and a reduction of inefficiencies and waste, including through various tools to address fraud and abuse.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Health Reform Laws will continue to affect hospitals differently depending upon the populations they serve and their payor mix. Our target market of community hospitals typically serve higher uninsured populations than larger urban hospitals and rely more heavily on Medicare and Medicaid for reimbursement. It remains to be seen whether the increase in the insured population for community hospitals will be sufficient to offset actual and proposed additional cuts in Medicare and Medicaid reimbursements contained in the Health Reform Laws.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Health Reform Laws are leading to significant changes in the healthcare system, but the full impact of the legislation and of further statutory and regulatory actions to reform healthcare on our business is unknown. As a result, there can be no assurances </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">that the legislation will not adversely impact either our operational results or the manner in which we operate our business. We believe some healthcare industry participants have reduced their investments or postponed investment decisions, including investments in our solutions and services.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost-containment measures instituted by healthcare providers as a result of regulatory reform or otherwise could result in a reduced allocation of capital funds. Such a reduction could have an adverse effect on our ability to sell our systems and related services. Although the Biden administration promises to prioritize public health by fortifying and expanding implementation of such laws and legislation, we cannot predict what effect, if any, such additional proposals or healthcare reforms might have on our business, financial condition and results of operations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As existing regulations mature and become better defined, we anticipate that these regulations will continue to directly affect certain of our products and services, but we cannot fully predict the effect at this time. We have taken steps to modify our products, services and internal practices as necessary to facilitate our compliance with the regulations, but there can be no assurance that we will be able to do so in a timely or complete manner. Achieving compliance with these regulations could be costly and distract management&#8217;s attention and divert other company resources, and any noncompliance by us could result in civil and criminal penalties.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The healthcare industry is heavily regulated at the local, state and federal levels. Our failure to comply with regulatory requirements could create liability for us, result in adverse publicity and negatively affect our business.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The healthcare industry is heavily regulated and is constantly evolving due to the changing political, legislative and regulatory landscapes. In some instances, the impact of these regulations on our business is direct to the extent that we are subject to these laws and regulations ourselves. However, these regulations also impact our business indirectly as, in a number of circumstances, our solutions, devices and services must be capable of being used by our clients in a way that complies with those laws and regulations, even though we may not be directly regulated by the specific healthcare laws and regulations. There is a significant number of wide-ranging regulations, including regulations in the areas of healthcare fraud, e-prescribing, claims processing and transmission, medical devices, the security and privacy of patient data, the ARRA meaningful use program, patient access rights and interoperability standards, that may be directly or indirectly applicable to our operations and relationships or the business practices of our clients. Specific areas that are subject to increased regulation include, but are not limited to, the following:</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Healthcare Fraud</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Federal and state governments continue to enhance regulation of and increase their scrutiny over practices potentially involving healthcare fraud, waste and abuse by healthcare providers whose services are reimbursed by Medicare, Medicaid and other government healthcare programs. Our healthcare provider clients are subject to laws and regulations regarding fraud and abuse that, among other things, prohibit the direct or indirect payment or receipt of any remuneration for patient referrals, or arranging for or recommending referrals or other business paid for in whole or in part by these federal or state healthcare programs. Federal enforcement personnel have substantial funding, powers and remedies to pursue suspected or perceived fraud and abuse. The effect of this government regulation on our clients is difficult to predict. Many of the regulations applicable to our clients and that may be applicable to us, including those relating to marketing incentives offered in connection with medical device sales may be interpreted or applied by a prosecutorial, regulatory or judicial authority in a manner that could broaden their applicability to us or require our clients to make changes in their operations or the way in which they deal with us. If such laws and regulations are determined to be applicable to us and if we fail to comply with any applicable laws and regulations, we could be subject to civil and criminal penalties, sanctions or other liabilities, including exclusion from government healthcare programs, which could have a material adverse effect on our business, results of operations and financial condition. Even an unsuccessful challenge by a regulatory or prosecutorial authority of our activities could result in adverse publicity, could require a costly response from us and could adversely affect our business, results of operations and financial condition.</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">E-Prescribing.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The use of our solutions by physicians for electronic prescribing and electronic routing of prescriptions via the Surescripts network to pharmacies is governed by federal and state laws. States have differing regulations that govern the electronic transmission of certain prescriptions and prescription requirements. Standards adopted by the National Council for Prescription Drug Programs and regulations adopted by the Centers for Medicare and Medicaid Services ("CMS") related to "EPrescribing and the Prescription Drug Program" set forth implementation standards for the transmission of electronic prescriptions. These standards are detailed and broad, and cover not only routing transactions between prescribers and pharmacies, but also electronic eligibility, formulary and benefits inquiries. In general, regulations in this area can be burdensome and evolve regularly, meaning that any potential benefits to our clients from utilizing such solutions and services may be superseded by a newly-promulgated regulation that adversely affects our business model. Our efforts to provide solutions that enable our clients to comply with these regulations could be time consuming and expensive.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Claims</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Processing and Transmission.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Our system electronically transmits medical claims by physicians to patients&#8217; payors for immediate approval and reimbursement. In addition, we offer business management services that include the manual and electronic processing and submission of medical claims by healthcare providers to patients&#8217; payors for approval and reimbursement. Federal and state laws provide that it is a violation for any person to submit, or cause to be submitted, a claim to any payor, including, without limitation, Medicare, Medicaid and all private health plans and managed care plans, seeking payment for any service or product that overbills or bills for items that have not been provided to the patient. We have in place policies and procedures that we believe assure that all claims that are transmitted by our system and through our services are accurate and complete, provided that the information given to us by our clients is also accurate and complete. If, however, we do not follow those procedures and policies, or they are not sufficient to prevent inaccurate claims from being submitted, we could be subject to substantial liability including, but not limited to, civil and criminal liability. Additionally, any such failure of our billing and collection services to comply with these laws and regulations could adversely affect demand for our services and could force us to expend significant capital, research and development, and other resources to address the failure.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Where we are permitted to do so, we calculate charges for our billing and collection services based on a percentage of the collections that our clients receive as a result of our services. To the extent that violations or liability for violations of these laws and regulations require intent, it may be alleged that this percentage calculation provides us or our employees with incentive to commit or overlook fraud or abuse in connection with submission and payment of reimbursement claims. CMS has stated that it is concerned that percentage-based billing services may encourage billing companies to commit or to overlook fraudulent or abusive practices.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A portion of our business involves billing Medicare claims on behalf of our clients. In an effort to combat fraudulent Medicare claims, the federal government offers rewards for reporting of Medicare fraud which could encourage others to subject us to a charge of fraudulent claims, including charges that are ultimately proved to be without merit.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As discussed below, the HIPAA security and privacy standards also affect our claims transmission services, since those services must be structured and provided in a way that supports our clients&#8217; HIPAA compliance obligations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Regulation of Medical Devices.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The United States Food and Drug Administration (the "FDA") has determined that certain of our solutions, such as our ImageLink</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> product, are medical devices that are actively regulated under the Federal Food, Drug and Cosmetic Act, as amended. If other of our solutions are deemed to be actively regulated medical devices by the FDA, we could be subject to extensive requirements governing pre- and post-marketing activities including registration of the applicable manufacturing facility and software and hardware products, application of detailed record-keeping and manufacturing standards, application of the medical device excise tax, and FDA approval or clearance prior to marketing. Complying with these medical device regulations is time consuming and expensive, and our marketing and other sales activities could be subject to unanticipated and significant delays. Further, it is possible that the FDA may become more active in regulating software and medical devices that are used in the healthcare industry. If we are unable to obtain the required regulatory approvals for any such software or medical devices, our short- to long-term business plans for these solutions or medical devices could be delayed or canceled and we could face FDA refusal to grant pre-market clearance or approval of products; withdrawal of existing clearances and approvals; fines, injunctions or civil penalties; recalls or product corrections; production suspensions; and criminal prosecution. FDA regulation of our products could increase our operating costs, delay or prevent the marketing of new or existing products, and adversely affect our revenue growth.</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Security and Privacy of Patient Information.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Federal, state and local laws regulate the privacy and security of patient records and the circumstances under which those records may be released. These regulations govern both the disclosure and use of confidential patient medical record information and require the users of such information to implement specified security and privacy measures. United States regulations currently in place governing electronic health data transmissions continue to evolve and are often unclear and difficult to apply.</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the United States, HIPAA regulations require national standards for some types of electronic health information transactions and the data elements used in those transactions, security standards to ensure the integrity and confidentiality of health information, and standards to protect the privacy of individually identifiable health information. Covered entities under HIPAA, which include healthcare organizations such as our clients, and our claims processing, transmission and submission services, are required to comply with the privacy standards, transaction regulations and security regulations. Moreover, HITECH and associated regulatory requirements extend many of the HIPAA obligations, formerly imposed only upon covered entities, to business associates as well. As a business associate of our clients who are covered entities, we are in most instances already contractually required to ensure compliance with the HIPAA regulations as they pertain to the handling of covered client data. However, the extension of these HIPAA obligations to business associates by law has created a direct liability risk related to the privacy and security of individually identifiable health information.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Evolving HIPAA and HITECH-related laws or regulations could restrict the ability of our clients to obtain, use or disseminate patient information. This could adversely affect demand for our solutions and devices if they are not re-designed in a timely manner in order to meet the requirements of any new interpretations or regulations that seek to protect the privacy and security of patient data or enable our clients to execute new or modified healthcare transactions. We may need to expend additional capital and software development and other resources to modify our solutions to address these evolving data security and privacy issues. Furthermore, our failure to maintain the confidentiality of sensitive personal information in accordance with the applicable regulatory requirements could damage our reputation and expose us to claims, fines and penalties.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Federal and state statutes and regulations have granted broad enforcement powers to regulatory agencies to investigate and enforce compliance with these privacy and security laws and regulations. Federal and state enforcement personnel have substantial funding, powers and remedies to pursue suspected or perceived violations. If we fail to comply with any applicable laws or regulations, we could be subject to civil penalties, sanctions or other liability. Enforcement investigations, even if meritless, could have a negative impact on our reputation, cause us to lose existing clients or limit our ability to attract new clients.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">ARRA Meaningful Use Program</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The ARRA initially required "meaningful use of certified electronic health record technology" by healthcare providers by 2015 in order to receive limited incentive payments and to avoid related reduced reimbursement rates for Medicare claims. Related standards and specifications are subject to interpretation by the entities designated to certify such technology. While a combination of our solutions has been certified as meeting stage one, stage two, and stage three standards for certified electronic health record technology, the regulatory standards to achieve certification will continue to evolve over time. We may incur increased development costs and delays in delivering solutions if we need to upgrade our software or healthcare devices to be in compliance with these varying and evolving standards. In addition, further delays in interpreting these standards may result in postponement or cancellation of our clients&#8217; decisions to purchase our software solutions. If our software solutions are not compliant with these evolving standards, our market position and sales could be impaired and we may have to invest significantly in changes to our software solutions.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Interoperability Standards</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Our clients are concerned with and often require that our software and systems be interoperable with other third party healthcare information technology systems. Market forces or governmental or regulatory authorities could create software interoperability standards that would apply to our software and systems, and if our software and systems are not consistent with those standards, we could be forced to incur substantial additional development costs. For example, the HITECH Act contains interoperability standards that healthcare providers are required to adhere to in order to receive stimulus funds from the federal government under the ARRA. Compliance with these and related standards is becoming a competitive requirement and, although a combination of our solutions has been certified as meeting all such required interoperability standards to date, maintaining such compliance with these varying and evolving rules may result in increased development costs and delays in upgrading our client software and systems. To the extent these rules are narrowly construed, subsequently changed or supplemented, or that we are delayed in achieving certification under these evolving rules for applicable products, our clients may postpone or cancel their decisions to purchase or implement our software and systems.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As it relates specifically to interoperability, we are a member of CommonWell Health Alliance ("CommonWell"), a not-for-profit trade association comprised of healthcare information technology vendors devoted to the notion that patient data should be safely, securely and immediately available to patients and healthcare providers to support better care delivery, regardless of where that care occurs. CommonWell is committed to fostering standards that make this possible, and to having healthcare information technology companies embed these capabilities natively and cost effectively into their EHR systems. Despite our membership in CommonWell, there is no guarantee that we will successfully manage the interoperability of our software and systems with third-party health IT providers.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Patient Access Rights. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2020, the Office of National Coordinator for Health Information Technology ("ONC") of the U.S. Department of Health and Human Services ("HHS") released the "21st Century Cures Act: Interoperablity, Information Blocking, and the ONC Health IT Certification Program, Final Rule." The rule implements several of the key interoperability provisions included in the 21st Century Cures Act. Specifically, it calls on developers of certified EHRs and health IT products to adopt standardized APIs, which will help allow individuals to securely and easily access structured and unstructured EHI formats using smartphones and other mobile devices. This provision and others included in the final rule create a potentially lengthy list of certification and maintenance of certification requirements that developers of EHRs and other health IT products have to meet in order to maintain approved federal government certification status. Meeting and maintaining this certification status could require additional development costs.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ONC rule also implements the information blocking provisions of the 21st Century Cures Act, including identifying reasonable and necessary activities that do not constitute information blocking. Under the 21st Century Cures Act, the HHS has the regulatory authority to investigate and assess civil monetary penalties of up to $1,000,000 against health IT developers and/</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">or providers found to be guilty of "information blocking." This new oversight and authority to investigate claims of information blocking creates significant risks for us and our clients and could potentially create substantial new compliance costs.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Standards for Submission of Healthcare Claims</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Effective October 2015, CMS mandated the use of new patient codes for reporting medical diagnosis and inpatient procedures, referred to as the ICD-10 codes. CMS requires all providers, payors, clearinghouses and billing services to utilize these ICD-10 codes when submitting claims for payment. ICD-10 codes affect medical diagnosis and inpatient procedure coding for everyone covered by HIPAA, not just those who submit Medicare or Medicaid claims. Claims for services must use ICD-10 codes for medical diagnosis and inpatient procedures or they will not be paid.  While we have successfully implemented the use of ICD-10 codes within our products and services, the possibility exists for similar future mandates by CMS. If our products and services do not accommodate CMS mandates at any future date, clients may cease to use those products and services that are not compliant and may choose alternative vendors and products that are compliant. This could adversely impact future revenues.</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">RISKS RELATED TO OUR BUSINESS</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Competition with companies that have greater financial, technical and marketing resources than we have could result in a loss of clients and/or a lowering of prices for our products, causing a decrease in our revenues and/or market share.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our principal competitors in the acute EHR market are Cerner Corporation, Medical Information Technology, Inc. ("Meditech"), and MEDHOST, Inc. These companies compete with us directly in our target market of small and midsize hospitals. They offer products and systems that are comparable to our solutions and address the needs of hospitals in the markets we serve.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our secondary competitors in the acute care EHR market include Allscripts Healthcare Solutions, Inc. and Epic Systems Corporation. These companies are significantly larger than we are, and they typically sell their products and services to larger hospitals outside of our target market. However, they will sometimes compete with us directly or, more commonly, a larger health system who uses a system provided by one of these competitors will offer it to a smaller hospital as part of a merger or alliance. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also face competition from providers of practice management systems, general decision support and database systems, and other segment-specific applications. Any of these companies, as well as other technology or healthcare companies could decide at any time to specifically target hospitals within our target market.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our principal competitors in the post-acute care EHR market are PointClickCare Corporation and MatrixCare, Inc. These companies compete with us directly in our target market of long-term post-acute care facilities.  They offer products and systems that are comparable to our system and address the needs of long-term care providers. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our principal competitors in the business management, consulting and managed IT services (which includes the services of recently-acquired HRG) market are Resolution Health, Inc., The Outsource Group Inc., Patient Focus, Inc., Xtend Healthcare Inc., Ensemble Health Partners, and nThrive, Inc. All of these companies provide one or more of the services we offer, with their primary focus being on business management services. The services they offer are comparable in scope to the competing services we offer. These companies all focus on providing services to the healthcare market.  Secondary competitors include ARx LLC, Citadel Outsource Group LLC, Patient Matters, LLC, KIWI-TEK, LLC, and Aviacode Inc. Our principle competitors for RCM solutions include RelayHealth Corp, SSI Group, LLC, Quadax Inc., Change Healthcare Holdings, Inc., Availity, LLC, and Navicure, Inc. Get Real Health's primary competitors include Relay Health, Get Well Network/Healthloop, Apollo Care Connect, Bridge Patient Portal, eClinicalWorks Patient Portal, Influence Health, and InteliChart. TruCode's primary competitors include 3M, Nuance and Optum.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A number of existing and potential competitors are more established than we are and have greater name recognition and financial, technical and marketing resources. Products of our competitors may have better performance, lower prices and broader market acceptance than our products. We expect increased competition that could cause us to lose clients, lower our prices to remain competitive and, consequently, experience lower revenues, revenue growth and profit margins.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We recently completed the acquisitions of TruCode and HRG, and we may engage in future acquisitions. Such strategic acquisitions may be expensive, time consuming, and subject to other inherent risks which may jeopardize our ability to realize anticipated benefits.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may acquire additional businesses, technologies and products if we determine that these additional businesses, technologies and products are likely to serve our strategic goals. Acquisitions have inherent risks, which may have a material adverse effect on our business, financial condition, operating results or prospects, including, but not limited to the following:</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">significant acquisition and integration costs; </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">failure to achieve projected synergies and performance targets;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">potentially dilutive issuances of our securities, the incurrence of debt and contingent liabilities and amortization expenses related to intangible assets with indefinite useful lives, which could adversely affect our results of operations and financial condition;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">using cash as acquisition currency may adversely affect interest or investment income, which may in turn adversely affect our earnings and/or earnings per share;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">difficulty in fully or effectively integrating the acquired technologies, software products, services, business practices or personnel, which would prevent us from realizing the intended benefits of the acquisition;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">failure to maintain uniform standard controls, policies and procedures across acquired businesses;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">difficulty in predicting and responding to issues related to product transition such as development, distribution and client support;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the possible adverse effect of such acquisitions on existing relationships with third party partners and suppliers of technologies and services;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the possibility that staff or clients of the acquired companies might not accept new ownership and may transition to different technologies or attempt to renegotiate contract terms or relationships, including maintenance or support agreements;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the assumption of known and unknown liabilities;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the possibility that the due diligence process in any such acquisition may not completely identify material issues associated with product quality, product architecture, product development, intellectual property issues, key personnel issues or legal and financial contingencies, including any deficiencies in internal controls and procedures and the costs associated with remedying such deficiencies;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">difficulty in entering geographic and/or business markets in which we have no or limited prior experience;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">diversion of management&#8217;s attention from other business concerns; and</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the possibility that acquired assets become impaired, requiring us to take a charge to earnings which could be significant.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A failure to successfully integrate acquired businesses or technology in a timely manner could, for any of these reasons, have an adverse effect on our financial condition and results of operations. As a result, we may not be able to realize the expected benefits that we seek to achieve from the acquisitions, which could also affect our ability to service our debt obligations. In addition, we may be required to spend additional time or money on integration that otherwise would be spent on the development and expansion of our business.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we are unable to attract and retain qualified client service and support personnel, our business and operating results will suffer.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our client service and support is a key component of our business. Most of our hospital clients have small information technology staffs, and they depend on us to service and support their systems.  Future difficulty in attracting, training and retaining capable client service and support personnel could cause a decrease in the overall quality of our client service and support. That decrease would have a negative effect on client satisfaction which could cause us to lose existing clients and could have an adverse effect on our new client sales. The loss of clients due to inadequate client service and support would negatively impact our ability to continue to grow our business.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We periodically have restructured our sales force, which can be disruptive. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We continue to rely heavily on our direct sales force. Periodically, we have restructured or made other adjustments to our sales force in response to factors such as product changes, geographical coverage and other internal considerations. Change in the structures of the sales force and sales force management can result in temporary lack of focus and reduced productivity that may affect revenues in one or more quarters. Future restructuring of our sales force could occur, and if so we may again </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">experience the adverse transition issues associated with such restructuring.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we are unable to manage our growth in the new markets we may enter, our business and financial results could suffer.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our future financial results will depend in part on our ability to profitably manage our business in new markets that we may enter. We are engaging in the strategic identification of, and competition for, growth and expansion opportunities in new markets or offerings.  In order to successfully execute on these future initiatives, we will need to, among other things, manage changing business conditions and develop expertise in areas outside of our business's traditional core competencies. Difficulties in managing future growth in new markets could have a significant negative impact on our business, financial condition and results of operations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our international business activities and processes expose us to numerous and often conflicting laws, regulations, policies, standards or other requirements, and to risks that could harm our business, financial condition and results of operations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our subsidiary, Get Real Health, sells patient engagement technology to hospital systems and government agencies in Canada, Australia, England, the United Arab Emirates and the Netherlands, directly and through resellers, and Evident has had limited sales of EHR software to government agencies in Canada and the Caribbean. Our business in these countries is subject to numerous risks inherent in international business operations. Among others, these risks include:</span></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">data protection and privacy regulations regarding access by government authorities to customer, partner, or employee data;</span></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">data residency requirements (the requirement to store certain data only in and, in some cases, also to access such data only from within a certain jurisdiction);</span></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">conflict and overlap among tax regimes;</span></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">possible tax constraints impeding business operations in certain countries;</span></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">expenses associated with the localization of our products and compliance with local regulatory requirements;</span></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">discriminatory or conflicting fiscal policies;</span></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">operational difficulties in countries with a high corruption perception index;</span></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">difficulties enforcing intellectual property and contractual rights in certain jurisdictions;</span></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">country-specific software certification requirements;</span></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">compliance with various industry standards; and</span></div><div style="margin-top:9pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">market volatilities or workforce restrictions due to changing laws and regulations resulting from political decisions (e.g. Brexit, government elections).</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As we expand into new countries and markets, these risks could intensify. The application of the respective local laws and regulations to our business is sometimes unclear, subject to change over time, and often conflicting among jurisdictions. Additionally, these laws and government approaches to enforcement are continuing to change and evolve, just as our products and services continually evolve. Compliance with these varying laws and regulations could involve significant costs or require changes in products or business practices. Non-compliance could result in the imposition of penalties or cessation of orders due to alleged non-compliant activity. We do not believe we have engaged in any activities sanctionable under these laws and regulations, but governmental authorities could use considerable discretion in applying these statutes and any imposition of sanctions against us could be material. One or more of these factors could have an adverse effect on our operations globally or in one or more countries or regions, which could have an adverse effect on our business, financial condition and results of operations.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We face the risks and uncertainties that are associated with litigation against us, which may adversely impact our marketing, distract management and have a negative impact upon our business, results of operations and financial condition.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">  </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We face the risks associated with litigation concerning the operation of our business. For example, companies in our industry, including many of our competitors, have been subject to litigation based on allegations of patent infringement or other violations of intellectual property rights. In particular, patent holding companies often engage in litigation to seek to monetize patents that they have obtained. As the number of competitors, patents and patent holding companies in our industry increases, the functionality of our products and services expands, and we enter into new geographies and markets, the number of intellectual property rights-related actions against us is likely to continue to increase. The uncertainty associated with substantial unresolved litigation may have an adverse effect on our business. In particular, such litigation could impair our relationships with existing clients and our ability to obtain new clients. Defending such litigation may result in a diversion of management's time and attention away from business operations, which could have an adverse effect on our business, results of operations and financial condition. Such litigation may also have the effect of discouraging potential acquirers from bidding for us or reducing the consideration such acquirers would otherwise be willing to pay in connection with an acquisition.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There can be no assurance that such litigation will not result in liability in excess of our insurance coverage, that our insurance will cover such claims or that appropriate insurance will continue to be available to us in the future at commercially reasonable rates.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We use offshore third-party partners in India, Panama, the Philippines and Kenya that expose us to risks that could have a material adverse effect on our operating costs. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our reliance on an international workforce exposes us to business disruptions caused by the political and economic environment in those regions. Terrorist attacks and acts of violence or war may directly affect our workforce or contribute to general instability. Our global business services operations require us to comply with local laws and regulatory requirements, which are complex and of which we may not always be aware, and expose us to foreign currency exchange rate risk. Our global business services operations may also subject us to trade restrictions, reduced or inadequate protection for intellectual property rights, security breaches, and public health events, including the COVID-19 pandemic and other factors which may adversely affect our business. Negative developments in any of these areas could increase our operating costs or otherwise harm our business. In addition, local laws and customs in countries in which we contract with third-party partners may differ from those in the U.S. For example, it may be a local custom for businesses to engage in practices that are prohibited by our internal policies and procedures or U.S. laws and regulations applicable to us, such as the Foreign Corrupt Practices Act ("FCPA"). The FCPA generally prohibits U.S. companies from giving or offering money, gifts, or anything of value to a foreign official to obtain or retain business and requires businesses to make and keep accurate books and records and a system of internal accounting controls. We cannot guarantee that our employees, contractors, and agents will comply with all of our FCPA compliance policies and procedures. If we or our employees, contractors, or agents fail to comply with the requirements of the FCPA or similar legislation, government authorities in the U.S. and elsewhere could seek to impose civil or criminal fines and penalties which could have a material adverse effect on our business, operating results, and financial condition.</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">RISKS RELATED TO OUR PRODUCTS AND SERVICES</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our failure to develop new products or enhance current products in response to market demands could adversely impact our competitive position and require substantial capital resources to correct.</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The needs of hospitals in our target market are subject to rapid change due to government regulation, trends in clinical care practices and technological advancements. As a result of these changes, our products may quickly become obsolete or less competitive. New product introductions and enhancements by our competitors that more effectively or timely respond to changing industry needs may weaken our competitive position.</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We continually redesign and enhance our products to incorporate new technologies and adapt our products to ever-changing hardware and software platforms. Often we face difficult choices regarding which new technologies to adopt. If we fail to anticipate or respond adequately to technological advancements, or experience significant delays in product development or introduction, our competitive position could be negatively affected. Moreover, our failure to offer products acceptable to our target market could require us to make significant capital investments and incur higher operating costs to redesign our products, which could negatively affect our financial condition and operating results.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our products assist clinical decision-making and related care by capturing, maintaining and reporting relevant patient data. If our products fail to provide accurate and timely information, our clients could assert claims against us that could result in substantial cost to us, harm our reputation in the industry and cause demand for our products to decline.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We provide products that assist clinical decision-making and related care by capturing, maintaining and reporting relevant patient data. Our products could fail or produce inaccurate results due to a variety of reasons, including mechanical error, product flaws, faulty installation and/or human error during the initial data conversion. If our products fail to provide accurate and timely information, clients and/or patients could sue us to hold us responsible for losses they incur from these errors. These lawsuits, regardless of merit or outcome, could result in substantial cost to us, divert management&#8217;s attention from operations and decrease market acceptance of our products. We attempt to limit by contract our liability for damages arising from negligence, errors or mistakes. Despite this precaution, such contract provisions may not be enforceable or may not otherwise protect us from liability for damages. We maintain general liability insurance coverage, including coverage for errors or omissions. However, this coverage may not be sufficient to cover one or more large claims against us or otherwise continue to be available on terms acceptable to us. In addition, the insurer could disclaim coverage as to any future claim.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Breaches of security and viruses in our systems could result in client claims against us and harm to our reputation causing us to incur expenses and/or lose clients.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the course of our business operations, we compile and transmit confidential information, including patient health information. We have included security features in our systems that are intended to protect the privacy and integrity of this information. Despite the existence of these security features, our system may experience break-ins and similar disruptive problems that could jeopardize the security of information stored in and transmitted through the information technology networks of our clients. In addition, the other systems with which we may interface, such as the Internet and related systems, may be vulnerable to security breaches, viruses, programming errors or similar disruptive problems. Based on the size of our company, the industry in which we operate, and the overall percentage of impacted companies in the same or similar industry, it is probable there will be attempts to breach our security. Healthcare information has become a prime target for attackers based on the value of the information and, therefore, has the potential to increase the risk of us experiencing a cyber attack.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our systems have experienced various immaterial breaches in the past, including ransomware, denial-of-service, malware, and phishing. Also, our business partners have experienced security breaches, which is disruptive for our customers. While these events have not had an adverse impact on our business or financial condition, security breaches such as these could have a material adverse effect on our financial condition, as, (a) clients could sue us for breaches of security involving our system due to the sensitivity of the medical information we compile and transmit; (b) actual or perceived security breaches in our system could harm the market perception of our products which could cause us to lose existing and prospective clients; and (c) the effect of security breaches and related issues could disrupt our ability to perform certain key business functions and could potentially reduce demand for our products and services. Accordingly, we have expended significant resources toward establishing and enhancing the security of our related infrastructures and we have enhanced our cybersecurity risk management program and disclosure controls and procedures, as discussed under "Business - Our Products and Services." However, no assurance can be given that these efforts will be sufficient to protect against a breach or other cybersecurity incident. Also, maintaining and enhancing our infrastructure security may require us to expend significant capital in the future.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our networks have been, and likely will continue to be, subject to Distributed Denial of Service ("DDoS") attacks. Recent industry experience has demonstrated that DDoS attacks continue to grow in size and sophistication and have the ability to widely disrupt services. In recent years, the size of DDoS attacks has grown rapidly. While we have adopted mitigation techniques, procedures and strategies to defend against DDoS attacks, there can be no assurance that we will be able to defend against every attack, especially as the attacks increase in size and sophistication. Any attack, even if only partially successful, could disrupt our networks, increase response time, negatively impact our ability to meet our service level obligations, and generally impede our ability to provide reliable service to our customers and the broader internet community.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">New products that we introduce or enhancements to our existing products may contain undetected errors or problems that could affect client satisfaction and cause a decrease in revenues.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Highly complex software products such as ours sometimes contain undetected errors or failures when first introduced or when updates and new versions are released. Tests of our products may not detect bugs or errors because it is difficult to simulate our clients&#8217; wide variety of computing environments. Despite extensive testing, from time to time we have discovered defects or errors in our products. Defects or errors discovered in our products could cause delays in product introductions and shipments, result in increased costs and diversion of development resources, require design modifications, decrease market acceptance or client satisfaction with our products, cause a loss of revenue, result in legal actions by our clients and cause increased insurance costs.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We may not be successful in convincing customers to migrate to current or future releases of our products, which may lead to reduced services and maintenance revenues and less future business from existing customers. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our customers may not be willing to incur the costs or invest the resources necessary to complete upgrades to current or future releases of our products. This may lead to our loss of services and maintenance revenues and future business from customers that continue to operate prior versions of our products or choose to no longer use our products.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Failure to maintain our margins and service rates for implementation services could have a material adverse effect on our operating performance and financial condition. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A significant portion of our revenues is derived from implementation services. If we fail to scope our implementation projects correctly, our services margins may suffer. We bill for implementation services predominately on an hourly or daily basis (time and materials) and sometimes under fixed price contracts, and we generally recognize revenue from those services as we perform the work. If we are not able to maintain the current service rates for our time and materials implementation services, without corresponding cost reductions, or if the percentage of fixed price contracts increases and we underestimate the costs of our fixed price contracts, our operating performance may suffer. The rates we charge for our implementation services depend on a number of factors, including the following: </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">perceptions of our ability to add value through our implementation services;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">complexity of services performed;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">competition;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">pricing policies of our competitors and of systems integrators;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the use of globally sourced, lower-cost service delivery capabilities within our industry; and </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">economic, political and market conditions.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Services revenues carry lower gross margins than license revenues and an overall increase in services revenues as a percentage of total revenues could have an adverse impact on our business. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because our service revenues have lower gross margins than do our license revenues, an increase in the percentage of total revenues represented by service revenues could have a detrimental impact on our overall gross margins and could adversely affect operating results. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We may be subject to liability in the event we provide inaccurate claims data to payors.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We offer electronic claims submission services as part of our business management services. While we have implemented certain product features designed to maximize the accuracy and completeness of claims submissions, these features may not be sufficient to prevent inaccurate claims data from being submitted to payors. Should inaccurate claims data be submitted to payors, we may be subject to liability claims.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We may experience liability claims arising out of the licensing of our software and provision of services. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our agreements normally contain provisions designed to limit our exposure to potential liability claims and generally exclude consequential and other forms of extraordinary damages. However, these provisions could be rendered ineffective, invalid or unenforceable by unfavorable judicial decisions or by federal, state, local or foreign laws or ordinances. For example, we may not be able to avoid or limit liability for disputes relating to product performance or the provision of services. If a claim against us were to be successful, we may be required to incur significant expense and pay substantial damages, including consequential or punitive damages, which could have a material adverse effect on our business, operating results and financial condition. Even if we prevail in contesting such a claim, the accompanying publicity could adversely affect the demand for our products and services. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also rely on certain technology that we license from third parties, including software that is integrated with our internally developed software. Although these third parties generally indemnify us against claims that their technology infringes on the proprietary rights of others, such indemnification is not always available for all types of intellectual property. Often such third-party indemnifiers are not well capitalized and may not be able to indemnify us in the event that their technology infringes on the proprietary rights of others. As a result, we may face substantial exposure if technology we license from a third party </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">infringes on another party&#8217;s proprietary rights. Defending such infringement claims, regardless of their validity, could result in significant cost and diversion of resources.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We are dependent on our licenses of rights, products and services from third parties, disruptions of which may cause us to discontinue, delay or reduce product shipments.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are increasingly dependent upon licenses for some of the technology used in our products as well as other products and services from third-party vendors, and the costs of these licenses have increased in recent years. Most of these arrangements can be continued/renewed only by mutual consent and may be terminated for any number of reasons. We may not be able to continue using the technology, products or services made available to us under these arrangements on commercially reasonable terms or at all. As a result, we may have to discontinue, delay or reduce product shipments or services provided until we can obtain equivalent technology or services. Most of our third-party licenses are non-exclusive. Our competitors may obtain the right to use any of the business elements covered by these arrangements and use these elements to compete directly with us. In addition, if our vendors choose to discontinue providing their technology, products or services in the future or are unsuccessful in their continued research and development efforts, we may not be able to modify or adapt our own products. The operation of our products would be impaired if errors occur in third party technology or content that we incorporate, and we may incur additional costs to repair or replace the defective technology or content. It may be difficult for us to correct any errors in third party products because the products are not within our control.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Because we believe that proprietary rights are material to our success, misappropriation of these rights could limit our ability to compete effectively and adversely affect our financial condition.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are heavily dependent on the maintenance and protection of our intellectual property and we rely largely on a combination of confidentiality provisions in our client agreements, employee nondisclosure agreements, trademark and trade secret laws and other measures to protect our intellectual property. Additionally, our software is not patented or copyrighted. Although we attempt to control access to our intellectual property, unauthorized persons may attempt to copy or otherwise use our intellectual property. There can be no assurance that the legal protections and precautions we take will be adequate to prevent misappropriation of our technology or that competitors will not independently develop technologies equivalent or superior to ours. Monitoring unauthorized use of our intellectual property is difficult, and the steps we have taken may not prevent unauthorized use. If our competitors gain access to our intellectual property, our competitive position in the industry could be damaged. An inability to compete effectively could cause us to lose existing and potential clients and experience lower revenues, revenue growth and profit margins. Third parties could obtain patents that may require us to negotiate licenses to conduct our business, and the required licenses may not be available on reasonable terms or at all. We also rely on nondisclosure agreements with certain employees, and we cannot be certain that these agreements will not be breached or that we will have adequate remedies for any breach.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we are deemed to infringe on the intellectual property rights of third parties, we could incur unanticipated expense and be prevented from providing our products and services if we cannot obtain licenses to these rights on commercially acceptable terms.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not believe that our operations or products infringe on the intellectual property rights of others. However, there can be no assurance that others will not assert infringement or trade secret claims against us with respect to our current or future products. Many participants in the technology industry have an increasing number of patents and patent applications and have frequently demonstrated a readiness to take legal action based on allegations of patent and other intellectual property infringement. Further, as the number and functionality of our products increase, we believe we may become increasingly subject to the risk of infringement claims. If infringement claims are brought against us, these assertions could distract management. We may have to spend a significant amount of money and time to defend or settle those claims. In addition, claims against third parties from which we purchase software could adversely affect our ability to access third-party software for our systems.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If we were found to infringe on the intellectual property rights of others, we could be forced to pay significant license fees or damages for infringement. If we were unable to obtain licenses to these rights on commercially acceptable terms, we would be required to discontinue the sale of our products that contain the infringing technology. Our clients would also be required to discontinue the use of those products. We are unable to insure against this risk on an economically feasible basis. Even if we were to prevail in an infringement lawsuit, the accompanying publicity could adversely impact the demand for our products. Under some circumstances, we agree to indemnify our clients for some types of infringement claims that may arise from the use of our products.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Interruptions in our power supply and/or telecommunications capabilities could disrupt our operations, cause us to lose revenues and/or increase our expenses.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We currently have backup generators to be used as alternative sources of power in the event of a loss of power to our facilities. If these generators were to fail during any power outage, we would be temporarily unable to continue operations at our facilities. This would have adverse consequences for our clients who depend on us for system support, business management, and managed IT and professional services. Any such interruption in operations at our facilities could damage our reputation, harm our ability to retain existing clients and obtain new clients, and result in lost revenue and increased insurance and other operating costs.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also have clients for whom we store and maintain computer servers containing critical patient and administrative data. Those clients access this data remotely through telecommunications lines. If our power generators fail during any power outage or if our telecommunications lines are severed or impaired for any reason, those clients would be unable to access their mission critical data causing an interruption in their operations. In such event our remote access clients and/or their patients could seek to hold us responsible for any losses. We would also potentially lose those clients, and our reputation could be harmed.</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">RISKS RELATED TO OUR INDEBTEDNESS</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Volatility in and disruption to the global capital and credit markets and tightened lending standards may adversely affect our ability to access credit in the future, the cost of any credit obtained in the future, and the financial soundness of our clients and our business.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Domestic and international events have frequently resulted in volatility and disruption to the global capital and credit markets, often adversely affecting the availability, terms and cost of credit. Although we believe that our operating cash flow and financial assets will give us the ability to meet our financing needs for the foreseeable future, there can be no assurance that the volatility and disruption in the global capital and credit markets will not impair our liquidity or increase the costs of any future borrowing.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our business could also be negatively impacted to the extent that our hospital clients continue to face tight capital and credit markets and other disruptions resulting from the COVID-related economic recession or cuts in Medicare and Medicaid funding. Hospitals may modify, delay or cancel plans to purchase our software systems or services. Additionally, if hospitals&#8217; operating and financial performance deteriorates, or if they are unable to make scheduled payments or obtain credit, they may not be able to pay, or may delay payment of, accounts receivable owed to us. Any inability of clients to pay us for our products and services may adversely affect our earnings and cash flow.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tightened lending standards and the absence of third-party credit has resulted in many of our hospital clients seeking financing arrangements from us to purchase our software systems and services. These financing arrangements impact our short-term operating cash flow and cash available. Should the requests for these financing arrangements continue or increase, our business could be negatively impacted by our inability to finance these arrangements. In addition, the absence of credit could negatively impact our existing financing receivables should our clients with financing arrangements be unable to meet their obligations.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:107%">Our substantial indebtedness may adversely affect our available cash flow and our ability to operate our business, remain in compliance with debt covenants and make payments on our indebtedness. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, we had approximately $100.4&#160;million of indebtedness, which includes $69.4 million under our term loan facility and $31.0&#160;million borrowed under our revolving credit facility. We also had $79.0&#160;million of unused commitments under our revolving credit facility as of December 31, 2021. Our acquisition of HRG on March 1, 2022, was funded by an additional $48 million borrowing under our revolving credit facility.  As a result, our total indebtedness increased to approximately $148.4 million, with total amounts borrowed under our revolving credit facility increasing to $79 million and related unused commitments decreasing to $31 million.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our substantial indebtedness increases the possibility that we may be unable to generate cash sufficient to pay, when due, the principal of, interest on or other amounts due in respect of our indebtedness. Our substantial indebtedness, combined with our other financial obligations and contractual commitments, could have important consequences. For example, it could:</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">make it more difficult for us to satisfy our obligations with respect to our indebtedness, and any failure to comply with the obligations under any of our debt instruments, including restrictive covenants, could result in an event of default under such instruments;</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">make us more vulnerable to adverse changes in general economic, industry and competitive conditions and adverse changes in government regulation;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">require us to dedicate a substantial portion of our cash flow from operations to payments on our indebtedness, thereby reducing the availability of our cash flow to fund working capital, capital expenditures, acquisitions and other general corporate purposes; </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">limit our flexibility in planning for, or reacting to, changes in our business and the industry in which we operate;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">place us at a competitive disadvantage compared to our competitors that are less highly leveraged and therefore able to take advantage of opportunities that our indebtedness prevents us from exploiting; and</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">limit our ability to borrow additional amounts for working capital, capital expenditures, acquisitions, debt service requirements, execution of our business strategy or other purposes.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Any of the above listed factors could have a material adverse effect on our business, prospects, results of operations and financial condition. Furthermore, our interest expense could increase if interest rates increase because our debt bears interest at floating rates, which could adversely affect our cash flows. If we do not have sufficient earnings to service our debt, we may be required to refinance all or part of our existing debt, sell assets, borrow more money or sell securities, none of which we can guarantee we will be able to do.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, the credit agreement governing our term loan facility and revolving credit facility contains restrictive covenants that limit our ability to engage in activities that may be in our long-term best interests. See "The terms of the credit agreement governing our term loan facility and revolving credit facility may restrict our current and future operations, particularly our ability to respond to changes in our business or to take certain actions." </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Despite our current indebtedness levels, we and our subsidiaries may still be able to incur substantially more debt, which could exacerbate the risks associated with our substantial leverage.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We and our subsidiaries may be able to incur substantial additional indebtedness in the future, including secured indebtedness. Although the credit agreement governing our term loan facility and revolving credit facility contains restrictions on the incurrence of additional indebtedness, these restrictions are subject to a number of significant qualifications and exceptions, and the indebtedness incurred in compliance with these restrictions could be substantial. If new debt is added to our or our subsidiaries&#8217; current debt levels, the related risks that we face would be increased.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">To service our indebtedness, we will require a significant amount of cash. Our ability to generate cash depends on many factors beyond our control, and any failure to meet our debt service obligations could have a material adverse effect on our business, prospects, results of operations and financial condition.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our ability to pay interest on and principal of our debt obligations principally depends upon our operating performance. As a result, prevailing economic conditions and financial, business and other factors, many of which are beyond our control, will affect our ability to make these payments.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If we do not generate sufficient cash flow from operations to satisfy our debt service obligations, we may have to undertake alternative financing plans, such as refinancing or restructuring our indebtedness, selling assets, reducing or delaying capital investments or capital expenditures or seeking to raise additional capital. Our ability to restructure or refinance our debt, if at all, will depend on the condition of the capital markets and our financial condition at such time. Any refinancing of our debt could be at higher interest rates and may require us to comply with more onerous covenants, which could further restrict our business operations. In addition, the terms of existing or future debt instruments may restrict us from adopting some of these alternatives. Our inability to generate sufficient cash flow to satisfy our debt service obligations, or to refinance our obligations at all or on commercially reasonable terms, could affect our ability to satisfy our debt obligations and have a material adverse effect on our business, prospects, results of operations and financial condition.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The terms of the credit agreement governing our term loan facility and revolving credit facility may restrict our current and future operations, particularly our ability to respond to changes in our business or to take certain actions.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our term loan facility and revolving credit facility contain, and any future indebtedness of ours would likely contain, a number of restrictive covenants that impose significant operating restrictions, including restrictions on our ability to engage in acts that may be in our best long-term interests.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The credit agreement governing our term loan facility and revolving credit facility includes covenants restricting, among other things, our ability to:</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">incur additional debt; </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">incur liens and encumbrances;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">pay dividends on our equity securities or payments to redeem, repurchase or retire our equity securities;</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">enter into restrictive agreements; </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">make investments, loans and acquisitions; </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">merge or consolidate with any other person; </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">dispose of assets; </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">enter into sale and leaseback transactions; </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">engage in transactions with our affiliates; and </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">materially alter the business we conduct.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The operating restrictions and covenants in these debt agreements and any future financing agreements may adversely affect our ability to finance future operations or capital needs or to engage in other business activities. The credit agreement requires compliance with a consolidated net leverage ratio test. In addition, the credit agreement requires prepayment of the outstanding indebtedness thereunder if we have certain excess cash flow, as described therein. The credit agreement requires us to mandatorily prepay the term loan facility and amounts borrowed under the revolving credit facility with net cash proceeds from certain financing and other transactions. Additionally, the credit agreement requires repayment of the facilities with 50% of excess cash flow (minus certain specified other payments), subject to elimination if our consolidated net leverage ratio is less than or equal to 2.50 to 1.00. Our ability to comply with these covenants may be affected by events beyond our control, and any material deviations from our forecasts could require us to seek waivers or amendments of covenants, alternative sources of financing or reductions in expenditures. In addition, the outstanding indebtedness under our term loan facility and revolving credit facility is, subject to certain exceptions, secured by security interests in substantially all of our and the subsidiary guarantors&#8217; tangible and intangible assets (subject to certain exceptions). A breach of any of the restrictive covenants in the credit agreement governing our term loan facility and revolving credit facility would result in a default, and our lenders may elect to declare all outstanding borrowings, together with accrued interest and other fees, to be immediately due and payable, or enforce and foreclose on their security interest and liquidate some or all of such pledged assets. The lenders under our term loan facility and revolving credit facility also have the right in these circumstances to terminate any commitments they have to provide further borrowings.</span></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">RISKS RELATED TO OUR COMMON STOCK AND OTHER GENERAL RISKS</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We are subject to changes in and interpretations of financial accounting matters that govern the measurement of our performance, one or more of which could adversely affect our business, financial condition, cash flows, revenue and results of operations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on our reading and interpretations of relevant guidance, principles or concepts issued by, among other authorities, the American Institute of Certified Public Accountants, the Financial Accounting Standards Board and the Securities and Exchange Commission, we believe revenue received pursuant to our current sales and licensing contract terms and business arrangements have been properly recognized. However, there continue to be issued interpretations and guidance for applying the relevant standards to a wide range of sales and licensing contract terms and business arrangements that are prevalent in the software industry. Future interpretations or changes by the regulators of existing accounting standards, including Financial Accounting Standards Board ("FASB") Accounting Standards Codification ("ASC") Topic 606, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue from Contracts with Customers,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> or changes in our business practices could result in changes in our revenue recognition and/or other accounting policies and practices that could adversely affect our business, financial condition, cash flows, revenue and results of operations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We may be required to record a significant charge to earnings if our goodwill or intangible assets become impaired.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are required under U.S. generally accepted accounting principles ("U.S. GAAP") to test our goodwill for impairment annually or more frequently if indicators for potential impairment exist. Indicators that are considered include significant </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">changes in performance relative to expected operating results, significant changes in the use of the assets, significant negative industry, or economic trends, or a significant decline in the Company's stock price and/or market capitalization for a sustained period of time. In addition, we periodically review our intangible assets for impairment when events or changes in circumstances indicate that the carrying value may not be recoverable. Factors that may be considered a change in circumstances indicating that the carrying value of our intangible assets may not be recoverable include slower growth rates, the loss of significant clients, or divestiture of a business or asset for less than its carrying value. We may be required to record a significant charge to earnings in our consolidated financial statements during the period in which any impairment of our goodwill or intangible assets is determined. For example, we recorded a goodwill impairment charge of $28.0 million in the fourth quarter of 2017 relating to our Post-acute Care EHR reporting unit, which consists soley of American HealthTech, which we acquired in January 2016 as part of our acquisition of HHI. This impairment charge had a significant negative effect on our consolidated net income for the year ended December 31, 2017.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Any future impairment charges could have a material adverse impact on our results of operations. There are inherent uncertainties in management's estimates, judgments and assumptions used in assessing recoverability of goodwill and intangible assets. Any changes in key assumptions, including failure to meet business plans, a deterioration in the market, or other unanticipated events and circumstances, may affect the accuracy or validity of such estimates and could potentially result in an impairment charge. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The unpredictability of our quarterly operating results may cause us to fail to meet revenues or earnings expectations which could cause the price of our common stock to fluctuate or decline.</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There is no assurance that consistent quarterly growth in our business will occur. Our quarterly revenues may fluctuate and may be difficult to forecast for a variety of reasons. For example, prospective clients often take significant time evaluating our system and related services before making a purchase decision. Moreover, a prospective client who has placed an order for our system could decide to cancel that order or postpone installation of the ordered system. If a prospective client delays or cancels a scheduled system installation during any quarter, we may not be able to schedule a substitute system installation during that quarter. The amount of revenues that would have been generated from that installation will be postponed or lost. The possibility of delays or cancellations of scheduled system installations could cause our quarterly revenues to fluctuate.</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following factors may also affect demand for our products and services and cause our quarterly revenues to fluctuate:</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">changes in client budgets and purchasing priorities;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the ability of our clients to obtain financing for the purchase of our products;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the financial stability of our clients;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the specific mix of software, hardware and services in orders from clients;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the timing of new product announcements and product introductions by us and our competitors;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">market acceptance of new products, product enhancements and services from us and our competitors;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">product and price competition;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our success in expanding our sales and marketing programs;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the availability and cost of system components;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">delay of revenue recognition to future quarters due to an increase in the sales of our remote access SaaS services;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the length of sales cycles and installation processes;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">changes in revenue recognition or other accounting guidelines employed by us and/or established by the Financial Accounting Standards Board or other rulemaking bodies;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">accounting policies concerning the timing of recognition of revenue;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">personnel changes; and</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:35.6pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">general market and economic factors.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Variations in our quarterly revenues may adversely affect our operating results. In each fiscal quarter, our expense levels, operating costs and hiring plans are based on projections of future revenues and are relatively fixed. Because a significant percentage of our expenses are relatively fixed, a variation in the timing of systems sales, implementations and installations can cause significant variations in operating results from quarter to quarter. As a result, we believe that interim period-to-period comparisons of our results of operations are not necessarily meaningful and should not be relied upon as indications of future performance. Further, our historical operating results are not necessarily indicative of future performance for any particular period.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to all of the foregoing factors, it is possible that our operating results may be below the expectations of securities analysts and investors. In such event, the price of our common stock would likely be adversely affected.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Our common stock price has periodically experienced significant volatility, which could result in substantial losses for investors purchasing shares of our common stock and in litigation against us.</span></div><div style="margin-bottom:6pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Volatility may be caused by a number of factors including but not limited to:</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">actual or anticipated quarterly variations in operating results;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">rumors about our performance, software solutions, or merger and acquisition activity;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">changes in expectations of future financial performance or changes in estimates of securities analysts;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">governmental regulatory action;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">healthcare reform measures;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">client relationship developments;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">purchases or sales of Company stock;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">changes occurring in the markets in general;</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">macroeconomic conditions, both nationally and internationally; and</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">other factors, many of which are beyond our control.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furthermore, the stock market in general, and the market for software, healthcare and high technology companies in particular, has experienced significant volatility in recent years that often has been unrelated to the operating performance of particular companies. These broad market and industry fluctuations may adversely affect the trading price of our common stock, regardless of actual operating performance.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Moreover, in the past, securities class action litigation has often been brought against a company following periods of volatility in the market price of its securities. We may in the future be the target of similar litigation. Securities litigation could result in substantial costs and divert management&#8217;s attention and resources.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If we fail to maintain effective internal control over financial reporting, this may adversely affect investor confidence in our company and, as a result, the value of our common stock.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are required under Section 404 of the Sarbanes-Oxley Act to furnish a report by management on the effectiveness of our internal control over financial reporting and to include a report by our independent auditors attesting to such effectiveness. Any failure by us to maintain effective internal control over financial reporting could adversely affect our ability to report accurately our financial condition or results of operations. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If we are unable to maintain effective internal control over financial reporting, or if our independent auditors determine that we have a material weakness in our internal control over financial reporting, we could lose investor confidence in the accuracy and completeness of our financial reports, the market price of our common stock could decline, and we could be subject to sanctions or investigations by the SEC or other regulatory authorities. Failure to remedy any material weakness in our internal control over financial reporting, or to implement or maintain other effective control systems required of public companies, also could restrict our future access to the capital markets. </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We do not have employment or non-competition agreements with most of our key personnel, and their departure could harm our future success.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our future success depends to a significant extent on the leadership and performance of our chief executive officer and other executive officers. We do not have employment or non-competition agreements with any of our executive officers. Therefore, they may terminate their employment with us at any time and may compete against us. The loss of the services of any of our executive officers could have a material adverse effect on our business, financial condition and results of operations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">As a result of the inherent limitations in our internal control over financial reporting, misstatements due to error or fraud may occur and not be detected.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our disclosure controls and procedures are designed to provide reasonable assurance that information required to be disclosed by us in reports we file with or submit to the SEC under the Securities Exchange Act of 1934 (&#8220;Exchange Act&#8221;) is accumulated and communicated to management and recorded, processed, summarized, and reported within the time periods specified in SEC rules and forms. We believe that any disclosure controls and procedures or internal controls and procedures, no matter how well conceived and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. These inherent limitations include the realities that judgments in decision-making can be faulty and that breakdowns can occur because of simple error or mistake. In addition, controls can be circumvented by the individual acts of some persons, by collusion of two or more people, or by an unauthorized override of the controls.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Most of our facilities are located in an area vulnerable to hurricanes and tropical storms, and the occurrence of a severe hurricane, similar storm or other natural disaster could cause damage to our facilities and equipment, which could require us to cease or limit our operations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A significant portion of our facilities and employees are located within 30 miles of the coast of the Gulf of Mexico. Our facilities are vulnerable to significant damage or destruction from hurricanes and tropical storms. Such disasters may become more frequent and/or severe as the result of climate change. We are also vulnerable to damage from other types of disasters, including tornadoes, fires, floods and similar events. If any disaster were to occur, our ability to conduct business at our facilities could be seriously impaired or completely destroyed. This would have adverse consequences for our clients who depend on us for system support or business management, consulting and managed IT services. Also, the servers of clients who use our remote access services could be damaged or destroyed in any such disaster. This would have potentially devastating consequences to those clients. Although we have an emergency recovery plan, including back-up systems in remote locations, there can be no assurance that this plan will effectively prevent the interruption of our business due to a natural disaster. Furthermore, the insurance we maintain may not be adequate to cover our losses resulting from any natural disaster or other business interruption. Moreover, we could be affected by climate change and other environmental issues to the extent such issues adversely affect the general economy, adversely impact our supply chain or increase the costs of supplies needed for our operations, or otherwise result in disruptions impacting the communities in which our facilities are located.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">We are exposed to market risk related to interest rate changes.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are exposed to market risk related to changes in interest rates as a result of the floating interest rates applicable to the outstanding debt under our term loan facility and revolving credit facility. The interest rate for the outstanding debt under our term loan facility and revolving credit facility as of December 31, 2021 was 2.75%. Borrowings under our term loan facility and revolving credit facility bear interest at a base rate, a LIBOR rate, or a combination of the two, as elected by us, plus an applicable margin. The base rate is determined by reference to the greatest of (a) the prime lending rate of Regions Bank, (b) the federal funds rate for the relevant interest period plus one half of one percent per annum and (c) the one month LIBOR rate plus one percent per annum. The LIBOR rate is determined by reference to the interest rate for dollar deposits in the London interbank market for the interest period relevant to such borrowings, adjusted as set forth in the credit agreement. There is no cap on the maximum interest rate for borrowings under our term loan facility and revolving credit facility. A one hundred basis point change in interest rate on our borrowings outstanding as of December 31, 2021 would result in a change in interest expense of approximately $1.0 million annually.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Intercontinental Exchange Benchmark Administration has announced its intention to cease publication of all United States Dollar LIBOR rates after June 30, 2023. No consensus currently exists as to what benchmark rate or rates may become accepted alternatives to LIBOR. We cannot currently predict the effect of the discontinuation of, or other changes to, LIBOR or any establishment of alternative reference rates. The uncertainty regarding the future of LIBOR, as well as the transition from LIBOR to any alternative reference rate or rates, could have adverse impacts on floating rate obligations and other financial instruments that currently use LIBOR as a benchmark rate, including our credit facilities with Regions Bank. There is no guarantee that a shift from LIBOR to a new reference rate will not result in increases to our borrowing costs.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_73"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;1B.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">UNRESOLVED STAFF COMMENTS</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="margin-top:9pt"><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_76"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:31.286%"><tr><td style="width:1.0%"></td><td style="width:36.750%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:61.050%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;2.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">PROPERTIES</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 5, 2021, the Company relocated its principal executive office pursuant to a sublease for 20,093 square feet of office space in downtown Mobile, Alabama. Our corporate campus is located on approximately 16.5 acres in Mobile, Alabama and includes approximately 135,500 square feet of office space. Our main campus building consists of approximately 66,000 square feet of office and warehouse space. We also have eleven additional smaller campus buildings consisting of approximately 6,000 square feet of office space each and an additional campus building consisting of approximately 3,500 square feet. The Company also owns 11.3 acres of undeveloped real property adjacent to our corporate campus.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We lease the remainder of our facilities in various locations in the United States, including: Mobile, Alabama; Pottsville, Pennsylvania; Glenwood, Minnesota; Marshall, Minnesota; Plymouth, Minnesota; Ridgeland, Mississippi; Spokane, Washington and Rockville, Maryland. The terms of the</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">se leases generally range in length from one to twelve years, and all of the leases contain options to incrementally extend the lease period. During 2021, we had one lease which expired and the Company did not renew: Monroe, Louisiana. Additionally, on July 28, 2021, the Company terminated its lease agreement for approximately 45,000 square feet of office space in Fairhope, Alabama.  In 2022, we have two leases that are set to expire: Pottsville, Pennsylvania and Marshall, Minnesota. The Company intends to renew the lease for Pottsville, Pennsylvania and let the Marshall, Minnesota lease expire in the normal course.</span></div><div style="margin-top:9pt"><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_79"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;3.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">LEGAL PROCEEDINGS</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, we are involved in routine litigation that arises in the ordinary course of business. We are not currently involved in any claims outside the ordinary course of business that are material to our financial condition or results of operations.</span></div><div style="margin-top:9pt"><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_82"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;4.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">MINE SAFETY DISCLOSURES</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_85"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART II</span></div><div id="i970301c9c50f467384dc14f962fc03da_88"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;5.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Market for CPSI Common Stock</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;14, 2022, there were approximately 88 registere</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d holders of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">our common stock, as provided to us by our transfer agent. This number does not include the number of beneficial owners whose shares are held in "street" names by broker-dealers and other institutions who hold shares on behalf of their clients. As of March&#160;14, 2022, there were 14,621,905 </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">shares of common stock outstanding.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CPSI&#8217;s common stock is listed on the NASDAQ Global Select Market under the symbol "CPSI." </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dividends</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 2, 2017, the Company announced that our Board of Directors adopted a fixed dividend policy for the payment of quarterly dividends, and on September 4, 2020, our Board of Directors opted to indefinitely suspend all quarterly dividends. The indefinite suspension of quarterly dividends was concurrent with the authorization of a stock repurchase program, aligning with the Company's capital allocation strategy that prioritizes flexibility to allow for more opportunistic uses of capital. Our Board of Directors will take into account such matters as general business conditions, capital needs, our financial results, available liquidity and such other factors as our Board of Directors may deem relevant in future dividend declarations. Additionally, the terms of our Credit Agreement restrict our ability to pay dividends. See Item 7, Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations, &#8220;Liquidity and Capital Resources-Credit Agreement&#8221; included herein.</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Purchases of Equity Securities</span></div><div style="margin-bottom:9pt;margin-top:9pt;text-indent:21.6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes our repurchase of equity securities during the three months ended December&#160;31, 2021:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.764%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.382%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.601%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.382%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.601%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.382%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.601%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.382%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.605%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Number of Shares Purchased     </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Average Price Paid per Share</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Number of Shares Purchased as Part of Publicly Announced Plans or Programs (a)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Approximate Dollar Value of Shares That May Yet Be Purchased Under the Plans or Programs (a)</span></td></tr><tr style="height:3pt"><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">October 1, 2021 - October 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,184,550&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">November 1, 2021 - November 30, 2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,134&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.68&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,134&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,091,544&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 1, 2021 - December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,091,544&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,134&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.68&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,134&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt;text-align:center;text-indent:24pt"><span><br/></span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.91pt">On September 4, 2020, our Board of Directors approved a stock repurchase program under which we may repurchase up to $30.0 million of our common stock through September 3, 2022.  Any future stock repurchase transactions may be made through open market purchases, privately-negotiated transactions, or otherwise in compliance with Rule 10b-18 under the securities Exchange Act of 1934, as amended.  </span></div><div style="margin-top:9pt;text-align:center;text-indent:6pt"><span><br/></span></div><div style="margin-top:9pt;text-align:center;text-indent:24pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">44</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_91"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;6.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">[Reserved]</span></td></tr></table></div><div style="text-indent:36pt"><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_94"></div><div style="-sec-extract:summary"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:10.776%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.024%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;7.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">You should read the following discussion of our financial condition and results of operations in conjunction with the "Selected Financial Data" and our financial statements and the related notes included elsewhere in this Annual Report. This discussion and analysis contains forward-looking statements that involve risks, uncertainties and assumptions. Our actual results may differ materially from those anticipated in these forward-looking statements as a result of many factors, including but not limited to those set forth under "Risk Factors" and elsewhere in this Annual Report.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Background</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CPSI is a leading provider of healthcare solutions and services for community hospitals and other healthcare systems and post-acute care facilities. Founded in 1979, CPSI offers its products and services through six companies - Evident, LLC ("Evident"), American HealthTech, Inc. ("AHT"), TruBridge, LLC ("TruBridge"), </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">iNetXperts, Corp. d/b/a Get Real Health ("Get Real Health"), TruCode LLC ("TruCode") and Healthcare Resource Group, Inc. ("HRG")</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. These combined companies are focused on improving the health of the communities we serve, connecting communities for a better patient care experience, and improving the financial operations of our clients. The individual contributions of each of these companies towards this combined focus are as follows:</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Evident, which makes up our Acute Care EHR reporting segment, provides comprehensive acute care electronic health record ("EHR") solutions, Thrive and Centriq, and related services for community hospitals and their physician clinics.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">AHT, which makes up our Post-acute Care EHR reporting segment, provides a comprehensive post-acute care EHR solution and related services for skilled nursing and assisted living facilities.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">TruBridge, our third reporting segment, focuses on providing business management, consulting, and managed IT services along with its complete revenue cycle management ("RCM") solution for all care settings, regardless of their primary healthcare information solutions provider.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Get Real Health, included within our TruBridge segment, delivers technology solutions to improve patient outcomes and engagement strategies with care providers.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">TruCode, included within our TruBridge segment, provides configurable, knowledge-based software that gives coders, clinical documentation integrity specialists and auditors the flexibility to code according to their knowledge, preferences and experience.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">HRG, which was acquired on March 1, 2022 and will be included within our TruBridge segment, provides specialized RCM solutions for facilities of all sizes.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our companies currently support acute care facilities and post-acute care facilities with a geographically diverse customer mix within the domestic community healthcare market. Our target market for our acute care solutions includes community hospitals with fewer than 200 acute care beds. Our primary focus within this defined target market is on hospitals with fewer than 100 beds, which comprise approximately 98% of our acute care hospital EHR client base. The target market for our post-acute care solutions consists of approximately 15,500 skilled nursing facilities that are either independently owned or part of a larger management group with multiple facilities. Our target market for our TruBridge services includes community hospitals with fewer than 600 acute care beds.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note 18 to the consolidated financial statements included herein for additional information on our three reportable segments.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Management Overview</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Strategy</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our core strategy is to achieve meaningful long-term revenue growth by cross-selling TruBridge services into our existing EHR customer base, expanding TruBridge market share with sales to new community hospitals and larger health systems, and pursuing competitive EHR takeaway opportunities in the acute and post-acute markets.  During 2020, we engaged a top-tier international consulting firm to assess our core growth strategy, with the outcome of this eight-week engagement being the </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">confirmation of our current core strategy and the identification of other innovative potential growth opportunities.  We may also seek to grow through acquisitions of businesses, technologies or products if we determine that such acquisitions are likely to help us meet our strategic goals.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The opportunity to cross-sell TruBridge services is greatest within our Acute Care EHR customer base.  As such, retention of existing Acute Care EHR customers is a key component of our long-term growth strategy by protecting this base of potential TruBridge customers, while at the same time serving as a leading indicator of our market position and stability of revenues and cash flows.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determine retention rates by reference to the amount of beginning-of-period Acute Care EHR recurring revenues that have not been lost due to customer attrition from our production environment customer base. Production environment customers are those that are using our applications to document live patient encounters, as opposed to legacy environment customers that have view-only access to historical patient records. Historically, these retention rates had consistently remained in the mid-to-high 90th percentile ranges. However, fiscal years 2017 through 2019 saw retention rates decrease to the low 90th percentile ranges due to, among other factors, (i) post-acquisition customer concerns regarding our long-term commitment to the Centriq platform, acquired in January 2016, (ii) an intensified competitive market, primarily due to aggressive pricing and marketing by a highly disruptive new entrant into the Acute Care EHR marketplace, and (iii) the announced sunset of the Classic platform, also acquired in January 2016. During 2020 and 2021, retention rates returned to the mid-to-high 90th percentile ranges, as (i) the lingering effects of the Centriq acquisition continue to abate, (ii) the competitive environment continues to normalize as the aforementioned disruptive new entrant into this market has since departed the market altogether, and (iii) the Classic platform was sunset in the fourth quarter of 2019, with all related customers having either changed EHR vendors or migrated to one of our remaining EHR solutions.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As we pursue meaningful long-term revenue growth by leveraging TruBridge as a growth agent, we are placing ever-increasing value in further developing our already significant recurring revenue base to further stabilize our revenues and cash flows.  As such, maintaining and growing recurring revenues are key components of our long-term growth strategy, aided by the aforementioned focus on customer retention. This includes a renewed focus on driving demand for subscriptions for our existing technology solutions and expanding the footprint for TruBridge services beyond our EHR customer base.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">While the combination of revenue growth and operating leverage results in increased margin realization, we also look to increase margins through specific cost containment measures where appropriate as we continue to leverage opportunities for greater operating efficiencies.  However, in the immediate future, we anticipate incremental margin pressure from the continued client transition from perpetual license arrangements to &#8220;Software as a Service&#8221; arrangements as described below.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Industry Dynamics</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Turbulence in the U.S. and worldwide economies and financial markets impacts almost all industries. While the healthcare industry is not immune to economic cycles, we believe it is more significantly affected by U.S. regulatory and national health initiatives.  In recent years, there have been significant changes to provider reimbursement by the U.S. federal government, followed by commercial payers and state governments. There is increasing pressure on healthcare organizations to reduce costs and increase quality while replacing the fee-for-service reimbursement model in part by enrolling in an advanced payment model that incentivizes high-quality, cost effective-care via value-based reimbursement. This pressure could further encourage adoption of healthcare IT and increase demand for business management, consulting, and managed IT services, as the future success of these healthcare providers is greatly dependent upon their ability to engage patient populations and to coordinate patient care across a multitude of settings, while optimizing operating efficiency along the way.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, healthcare organizations with a large dependency on Medicare and Medicaid populations, such as community hospitals, have been affected by the challenging financial condition of the federal government and many state governments and government programs. Accordingly, we recognize that prospective hospital clients often do not have the necessary capital to make investments in information technology while those with the necessary capital have become more selective in their investments. Despite these challenges, we believe healthcare IT will be an area of continued investment due to its unique potential to improve safety and efficiency and reduce costs while meeting current and future regulatory, compliance and government reimbursement requirements.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">License Model Preferences</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Much of the variability in our periodic revenues and profitability has been and will continue to be due to changing demand for different license models for our technology solutions, with variability in operating cash flows further impacted by the financing decisions within those license models. Our technology solutions are generally deployed in one of two license models: (1) perpetual licenses, for which the related revenue is recognized effectively upon installation, and (2) &#8220;Software as a Service&#8221; or </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8220;SaaS&#8221; arrangements, including our Cloud Electronic Health Record (&#8220;Cloud EHR&#8221;) offering, which generally result in revenue being recognized monthly as the services are provided over the term of the arrangement.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Although the overwhelming majority of our historical installations have been under a perpetual license model, the dramatic shift in customer preferences to a SaaS license model began during 2019, with 43% of the year's new acute care EHR installations being performed in a SaaS model, compared to only 12% in 2018.  This shift in customer preference toward the SaaS license model has since continued, with SaaS installations representing approximately 68% of new acute care EHR installations during 2020 and 63% during 2021.  These SaaS offerings are becoming increasingly attractive to our clients because this configuration allows them to obtain access to advanced software products without a significant initial capital outlay. We expect this trend to continue for the foreseeable future, with the resulting impact on the Company&#8217;s financial statements being reduced system sales revenues in the period of installation in exchange for increased recurring periodic revenues (reflected in system sales and support revenues) over the term of the SaaS arrangement. This naturally places downward pressure on short-term revenue growth and profitability metrics, but benefits long-term revenue growth and profitability which, in our view, is consistent with our goal of delivering long-term shareholder value.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For customers electing to purchase our technology solutions under a perpetual license, we have historically made financing arrangements available on a case-by-case basis, depending on the various aspects of the proposed contract and customer attributes. These financing arrangements continue to comprise the majority of our perpetual license installations, and include short-term payment plans and longer-term lease financing through us or third-party financing companies. During 2018, total financing receivables increased dramatically and had a significant impact on operating cash flows. This increase in financing arrangements was primarily due to two reasons. First, meaningful use stage 3 (&#8220;MU3&#8221;) installations are primarily financed through short-term payment plans and demand for such installations increased significantly in late 2017. Second, competitor financing options, primarily through accounts receivable management collections and Cloud EHR arrangements, have applied pressure to reduce initial customer capital investment requirements for new EHR installations, leading to the offering of long-term lease options. In 2019, we experienced a modest reduction in total financing receivables due to the natural exhaustion of the MU3 opportunity and the aforementioned dramatic shift in license preferences towards SaaS arrangements, the former of which also resulted in a positive impact to operating cash flows. A more substantial reduction in total financing receivables occurred in 2020, with an even greater reduction during 2021.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For those perpetual license clients not seeking a financing arrangement, the payment schedule of the typical contract is structured to provide for a scheduling deposit due at contract signing, with the remainder of the contracted fees due at various stages of the installation process (delivery of hardware, installation of software and commencement of training, and satisfactory completion of a monthly accounting cycle or end-of-month operation by each respective application, as applicable).</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Margin Optimization Efforts</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The aforementioned engagement during 2020 with a top-tier international consulting firm to assess our core growth strategy included an element geared towards margin optimization by identifying opportunities to further improve our cost structure.  The end result was a margin optimization plan centered around execution against initiatives related to organizational realignment, expanded use of offshore partnerships and the use of automation to increase the efficiency and value of our associates' efforts.    </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Regarding the organizational realignment, on February 1, 2021, we committed to a reduction in force that resulted in the termination of approximately 1.0% of our workforce (21 employees). The reduction in force is a component of a broader strategic review of the Company's operations that is intended to more effectively align our resources with business priorities. Substantially all of the employees impacted by the reduction in force exited the Company in the first quarter of 2021, with the last of the impacted employees exiting in the third quarter. The Company incurred expenses of approximately $2.7 million related to the reduction in force.  These expenses consisted of one-time termination benefits to the affected employees, including but not limited to severance payments, healthcare benefits, and payments for accrued vacation time. As a result of the reduction in force, the Company expects to realize approximately $3.9 million in annual savings compared to prior expense levels.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The remaining margin optimization initiatives of enhanced leveraging of offshore partnerships and automation have commenced and, to date, have provided meaningful efficiencies to our operations, particularly within TruBridge.  As a service organization, TruBridge's cost structure is heavily dependent upon human capital, subjecting TruBridge to the complexities and risks associated with this resource.  Chief among these complexities and risks is the ever-present pressure of wage inflation, which has recently become a reality as national and international economies recover from the economic downturn caused by the COVID-19 pandemic.  We believe that our efforts towards margin optimization are well-timed, enabling a rapid response to actual or expected wage inflation in order to preserve TruBridge gross margins, but we cannot guarantee that these efforts will fully eliminate any related margin deterioration.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Labor Capitalization</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the second quarter of 2021, our ongoing monitoring activities associated with the capitalization of software development costs and the related correlation between capitalization rates and operational metrics designed to reflect the distribution of work revealed that our then-current labor capitalization methodology did not fully reflect all of the critical activities necessary to develop software assets. Consequently, during the second quarter of 2021, we elected to change our method of estimating the labor costs incurred in developing software assets requiring capitalization under ASC 350-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal Use of Software</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Prior to this change, we estimated the associated labor costs using an estimated time-equivalent for workload metrics commonly utilized within agile software development environments. With this change, we now estimate these labor costs using the distribution of these agile workload metrics between capitalizable and non-capitalizable units of work. We believe this change is preferable as the new methodology better estimates capitalizable labor costs and is consistent with industry best practices. We have determined that this change in accounting for software development costs is a change in accounting estimate effected by a change in accounting principle and, as such, has been accounted for on a prospective basis. In connection with this change, we capitalized $8.8 million of software development costs during 2021. We estimate that the effect of this change was to increase capitalized amounts by approximately $4.6 million during 2021 with a corresponding decrease to product development costs.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">COVID-19</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The continuing impacts of COVID-19 and related economic conditions on the Company&#8217;s results are highly uncertain and outside the Company&#8217;s control. The scope, duration and magnitude of the direct and indirect effects of COVID-19 continue to evolve in ways that are difficult or impossible to anticipate.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the outset of the COVID-19 pandemic, community hospital patient volumes in the United States and other countries around the world rapidly deteriorated, negatively impacting the revenues, gross margins, and income of our TruBridge service offerings.  Although these patient volumes have since largely recovered, the persistence of the pandemic and the unprecedented nature of the resulting challenges it has imposed on national and global healthcare and economic systems make the path to complete recovery uncertain for community hospitals and may negatively impact the future financial performance of our TruBridge services.  Additionally, new EHR system installations have been, and may continue to be, negatively impacted by restrictive travel and social distancing protocols. The Company began to experience these impacts in March 2020, which increased in significance during the second quarter of 2020 before gradually improving over the remainder of 2020 and 2021.  However, uncertainty remains with respect to the pace of economic recovery, as well as the potential for resurgence in transmission of COVID-19 and related business closures due to the emergence of virus variants and vaccine hesitancy and refusal among various populations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company expects the negative impacts of the pandemic to continue for the foreseeable future, but the degree of the impact will depend on the ability of our community hospital clients to return to normal operations and patient volume. We believe that COVID-19 has impacted, and will continue to impact, our business results in the following additional areas:</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Bookings &#8211; A decline in new business and add-on bookings as certain client purchasing decisions and projects are delayed to focus on treating patients, procuring necessary medical supplies, and managing their organization through this crisis. This decline in bookings eventually results in reduced backlog and lower subsequent revenue.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">TruBridge revenues - Decreased levels of patient volume within our community hospital client base negatively impact our revenues for our TruBridge service offerings as the overwhelming majority of TruBridge revenues are directly or indirectly correlated with client patient volumes. This decline in revenues has a negative impact on gross margins and income. Although TruBridge revenues have improved significantly from their pandemic-caused lows, we cannot predict the potential negative impacts any COVID-19 resurgence will have on patient volumes and the resulting revenues.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Associate productivity &#8211; A decline in associate productivity, primarily for our implementation personnel, as a large amount of work is typically done at client sites, which is being impacted by travel restrictions and our clients&#8217; focus on the pandemic. Our clients&#8217; focus on the pandemic has also led to pauses on existing projects and postponed start dates for others, which translates into lower implementation revenues, gross margin and income. We are mitigating this by doing more work remotely than we have in the past, but we cannot fully offset the negative impact.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Travel &#8211; Associate travel restrictions reduce client-related travel, which reduces reimbursed travel revenues and lowers our costs of sales as a percent of revenues. Such restrictions also reduce non-reimbursable travel, which lowers operating expenses. While travel has begun to rebound with the easing of certain COVID-19 travel restrictions, any COVID-19 resurgence may result in the re-imposition of travel restrictions.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Cash collections &#8211; A delay in client cash collections due to COVID-19&#8217;s impact on national reimbursement processes, and client focus on managing their own organizations&#8217; liquidity during this time, impact our cash collections. The federal government has allocated unprecedented resources specifically designed to assist healthcare providers with their operating and capital needs during the pandemic, allocating a total of $175 billion through the Coronavirus Aid, Relief, and Economic Security (CARES) Act Provider Relief Fund.  While these funds certainly helped mitigate the financial pressures our clients faced, the clinical and operational challenges remain immense and are likely to cause certain of our customers to continue to aggressively manage cash resources in order to preserve liquidity, resulting in uncharacteristic aging of our trade accounts receivable. Additionally, the aforementioned decrease in community hospital patient volumes has had, and will continue to have, a negative impact on TruBridge billings for services and resulting revenues. These factors translate to lower cash flows from operating activities, which may impact how we execute under our capital allocation strategy and may adversely affect our financial condition.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021 Financial Overview</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generated revenues of $280.6 million from the sale of our products and services during 2021, compared to $264.5 million during 2020, an increase of 6% that is primarily attributed to the aforementioned improvement in hospital patient volumes from the early days of the COVID-19 pandemic and the corresponding positive impact on TruBridge revenues.  This increase in revenues is the primary driver behind the corresponding increase in net income, which increased by $4.2 million to $18.4 million during 2021, compared to $14.2 million during 2020.  Despite this increased profitability, net cash provided by operating activities decreased by $1.4 million, from $49.1 million provided by operations during 2020 to $47.7 million provided by operations for 2021 as the aforementioned revenue increase coupled with delayed client cash collections resulted in a significant expansion of accounts receivable.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth certain items included in our results of operations for each of the three years in the period ended December&#160;31, 2021, expressed as a percentage of our total revenues for these periods:</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"><tr><td style="width:1.0%"></td><td style="width:29.725%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.814%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.814%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.814%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.814%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.814%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.820%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year ended December 31, </span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%&#160;Sales</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%&#160;Sales</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%&#160;Sales</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">INCOME DATA:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales revenues:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">System sales and support:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125,379&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">134,770&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144,074&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,730&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,184&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,278&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total system sales and support</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143,109&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51.0&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152,954&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57.8&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">165,352&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60.2&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137,520&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,534&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">109,282&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total sales revenues</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">280,629&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">264,488&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274,634&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs of sales:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">System sales and support:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,776&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,540&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24.4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,569&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,888&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,821&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,303&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total system sales and support</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,664&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25.2&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,361&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26.2&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,872&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26.9&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,083&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,881&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56,617&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total costs of sales</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,747&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,242&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48.5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,489&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47.5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,882&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50.2&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,246&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51.5&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144,145&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52.5&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating expenses:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,389&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,457&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,861&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,978&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,835&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,495&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,022&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,479&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,200&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of acquisition-related intangibles</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,786&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,421&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,006&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating expenses</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,175&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41.4&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,192&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43.6&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119,562&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43.5&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating income </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,707&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,054&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,583&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income (expense):</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,529&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,494&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">807&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gain on contingent consideration</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss on extinguishment of debt</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(202)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,160)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,562)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,694)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2.4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total other income (expense)</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,631)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.6)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,270)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.9)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(887)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.3)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before taxes</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,076&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.2&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,784&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.1&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,696&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.6&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,646&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,538&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,228&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,430&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.6&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,246&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.4&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,468&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.5&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2021 Compared to 2020</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenues</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenues for the year ended December&#160;31, 2021 increased by $16.1 million, or 6%, compared to the year ended December&#160;31, 2020. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">System sales and support revenues, consisting of the Acute Care EHR and Post-acute Care EHR segments, decreased by $9.8 million, or 6%, from the year ended December&#160;31, 2020. System sales and support revenues were comprised of the following for the years ended December&#160;31, 2021 and 2020: </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.684%"><tr><td style="width:1.0%"></td><td style="width:72.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.540%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.643%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recurring system sales and support revenues </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">108,440&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105,597&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,472&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,272&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total recurring system sales and support revenues</span></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">124,912&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">121,869&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-recurring system sales and support revenues </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,939&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,173&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,258&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,912&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total non-recurring system sales and support revenues</span></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,197&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,085&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total system sales and support revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143,109&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152,954&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mostly comprised of support and maintenance, third-party subscriptions, and SaaS revenues.</span></div><div><span><br/></span></div></td></tr><tr><td colspan="12" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mostly comprised of installation revenues from the sale of our acute and post-acute care EHR solutions and related applications under a perpetual (non-subscription) licensing model.</span></div></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Recurring system sales and support revenues increased by $3.0 million, or 2%, during 2021.  Acute Care EHR recurring revenues increased by $2.8 million, or 3%, as attrition from the Thrive and Centriq customer base has normalized to more historical levels and our SaaS customer base has continued to grow, strengthening recurring revenues.  Post-acute Care EHR recurring revenues increased by $0.2 million, or 1%, as attrition has stabilized as we continue to make technological improvements to the AHT product line. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-recurring system sales and support revenues decreased by $12.9 million, or 41%, mostly driven by a $12.2 million, or 42%, decrease in Acute Care EHR non-recurring revenues.  We installed our Acute Care EHR solutions at sixteen new hospital clients during 2021 (ten of which were under a SaaS arrangement, resulting in revenue being recognized ratably over the contract term; comparatively, revenues related to perpetual license arrangements are recognized when the related installation is complete) compared to twenty-five new hospital clients during 2020 (seventeen of which were under a SaaS arrangement).  In addition to the decrease in the number of non-SaaS new customer implementations, the related non-recurring revenues decreased as 2020 benefited from a high volume of late-installing applications for non-SaaS implementations that went live in prior periods.  Comparatively, the continued shift in customer preferences towards SaaS arrangements and the continuing impacts of COVID-19 on client purchasing and implementation plans have decreased the opportunities for such follow-on revenue activities for recent implementations and decreased demand for add-on applications within our existing Acute Care EHR customer base.  </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">TruBridge revenues increased by $26.0 million, or 23%, compared to 2021.  Our hospital clients operate in an environment typified by rising costs and increased complexity and are increasingly seeking to alleviate themselves of the ever-increasing administrative burden of operating their own business office functions.  This increasing demand for services, coupled with the aforementioned impact of improving hospital patient volumes on TruBridge revenues, resulted in revenue increases of $8.6 million, or 21%, for our accounts receivable management services; $5.7 million, or 18%, for our insurance services division; and $1.4 million, or 16%, for our medical coding services.  Additionally, increased demand for patient engagement solutions resulted in a revenue increase of $2.2 million, or 53%, related to GRH's solutions and services.   Lastly, the acquisition of TruCode in May 2021 resulted in an additional $7.4 million of revenue during 2021. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Costs of Sales</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total costs of sales increased by $11.5 million compared to 2020.  As a percentage of total revenues, costs of sales increased to 50% of revenues during 2021 from 48% during 2020.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">51</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs of Acute Care EHR system sales and support increased by $1.2 million, or 2%, compared to 2020, as our increased usage of vendor partnerships to fulfill customer needs increased the related costs of third-party software by $3.6 million, which was partially offset by a $2.1 million decrease in hardware costs associated with the decrease in non-recurring revenues.  The gross margin on Acute Care EHR system sales and support decreased to 48% in 2021 from 52% in 2020, as the increase in costs of sales worked in tandem with decreased non-recurring revenues to decrease margins.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs of Post-acute Care EHR system sales and support increased slightly to $4.9 million in 2021 from $4.8 million in 2020.  This slight increase in costs of sales coupled with the aforementioned decrease in non-recurring revenues resulted a slight decrease in the related gross margins to 72% in 2021 compared to 73% in 2020. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our costs associated with TruBridge sales and support increased by $10.2 million, or 17%, in 2021, primarily driven by resource expansion necessitated by the growing customer base and improved patient volumes. The acquisition of TruCode in May 2021 resulted in an additional $1.7 million of costs of sales during 2021. The gross margin on these services increased to 50% in 2021, compared to 47% during 2020, as the growing recurring revenue base worked in tandem with operational efficiencies to increase margins.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Product Development</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product development expenses consist primarily of compensation and other employee-related costs (including stock-based compensation) and infrastructure costs incurred, but not capitalized, for new product development and product enhancements.  Product development costs decreased by $3.1 million, or 9%, compared to 2020, with the primary driver being a $5.5 million, or 165%, increase in product development labor capitalization pursuant to the aforementioned change in our method of estimating the labor costs incurred in developing software assets requiring capitalization under ASC 350-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal Use Software</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. This increased capitalization rate was partially offset by increased amortization of the related assets and increased payroll costs associated with expanding resources. The acquisition of TruCode in May 2021 resulted in $0.8 million of additional product development expenses during 2021. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Sales a</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">nd Marketing</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing costs decreased by $0.9 million, or 4%, compared to 2020. The aforementioned reduction-in-force combined with reduced non-recurring revenues resulted in decreased payroll and commission expenses. The acquisition of TruCode in May 2021 resulted in $0.4 million of additional sales and marketing expenses during 2021.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">General and Administrative</span></div><div><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">General and administrative expenses increased by </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">$2.5 million, or 5%, compared to 2020, mostly due to $2.5 million in severance costs associated with our 2021 reduction-in-force, an increase of $0.8 million in employee health claims, and the acquisition of TruCode in May 2021, which resulted in $1.1 million of additional general and administrative expenses during 2021 (exclusive of non-recurring transaction-related costs). Partially offsetting this aggregate $4.4 million increase in severance, employee health claims, and TruCode-related costs was a $1.8 million decrease in bad debt expense due to generally improved collections experience and the lack of any severe collectability determinations for customers with large receivables balances.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Amortization of Acquisition-Related Intangibles</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense associated with acquisition-related intangible assets increased by $2.4 million, or 21%, due to changes in estimates regarding the remaining useful lives of certain of our acquired intangible assets combined with the amortization of intangibles acquired in the TruCode acquisition.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Total Operating Expenses</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a percentage of total revenues, total operating expenses decreased to 41% in 2021 compared to 44% in 2020.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Total Other Income (Expense)</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total other income (expense) improved to expense of $1.6 million during 2021 compared to expense of $2.3 during 2020. This improvement was mostly attributable to a decreasing interest rate environment and lowered average amounts outstanding under our long-term debt facilities, resulting in a $0.4 million decrease in related interest expense.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Before Taxes</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the foregoing factors, income before taxes increased to $23.1 million in 2021, compared to $18.8 million in 2020.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Provision for Income Taxes</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our effective income tax rates for 2021 and 2020 were 20% and 24%, respectively.  Lowered provision-to-return adjustments resulted in an incremental 2.6% decrease in our effective tax rate for 2021 compared to 2020, while decreased tax shortfalls related to stock-based compensation arrangements resulted in an incremental 1.9% decrease in our effective tax rate for 2021 compared to 2020. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Net Income</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income for 2021 increased by $4.2 million to $18.4 million, or $1.26 per basic and diluted share, compared with $14.2 million, or $0.98 per basic and diluted share, for 2020.  </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2020 Compared to 2019</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To review the results of operations comparison of the year ended December&#160;31, 2020 compared with the year ended December&#160;31, 2019, please refer to our Annual Report on Form 10-K filed on March 12, 2021 with the Securities and Exchange Commission or follow the link below.</span></div><div style="margin-top:9pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="https://www.sec.gov/ix?doc=/Archives/edgar/data/1169445/000162828021004641/cpsi-20201231.htm">https://www.sec.gov/ix?doc=/Archives/edgar/data/1169445/000162828021004641/cpsi-20201231.htm</a></span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and Capital Resources</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Sources of Liquidity</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, our principal sources of liquidity consisted of cash and cash equivalents of $11.4 million and our remaining borrowing capacity under the revolving credit facility of $79.0 million, compared to $12.7 million of cash and cash equivalents and $105.0 million of remaining borrowing capacity under the revolving credit facility as of December 31, 2020. In conjunction with our acquisition of HHI in January 2016, we entered into a syndicated credit agreement which provided for a $125 million term loan facility and a $50 million revolving credit facility. On June 16, 2020, we entered into an Amended and Restated Credit Agreement that increased the aggregate principal amount of our credit facilities to $185 million, which includes a $75 million term loan facility and a $110 million revolving credit facility.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, we had $100.4 million in principal amount of indebtedness outstanding under the credit facilities. We believe that our cash and cash equivalents of $11.4 million as of December 31, 2021, the future operating cash flows of the combined entity, and our remaining borrowing capacity under the revolving credit facility of $79.0 million as of December 31, 2021, taken together, provide adequate resources to fund ongoing cash requirements for the next twelve months and beyond. We cannot provide assurance that our actual cash requirements will not be greater than we expect as of the date of filing of this Annual Report on Form 10-K. If sources of liquidity are not available or if we cannot generate sufficient cash flow from operations during the next twelve months, we may be required to obtain additional sources of funds through additional operational improvements, capital market transactions, asset sales or financing from third parties, a combination thereof or otherwise. We cannot provide assurance that these additional sources of funds will be available or, if available, would have reasonable terms.  Aside from normal operating cash requirements, obligations under our Credit Agreement (as discussed below) and operating leases (see Note 15 - Operating Leases for further information), and opportunistic uses of capital in share repurchases and business acquisition transactions, we do not have any material cash commitments or planned cash commitments. Although the Company currently has no obligations related to planned acquisitions, the Company's strategy includes the potential for future acquisitions, which may be funded thorough draws on the credit facilities or the use of the other sources of liquidity described above. On March 1, 2022, we made a draw of $48.0 million on the revolving credit facility in connection with the closing of the HRG acquisition, leaving a remaining $31.0 million of available borrowing capacity under the revolving credit facility as of that date. A portion of the proceeds from the draw, together with available cash on hand, was used by CPSI to make the various required payments at the closing of the acquisition </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Operating Cash Flow Activities</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash provided by operating activities decreased by $1.4 million, from $49.1 million for 2020 to $47.7 million for 2021, despite a $4.2 million increase in net income from 2020 to 2021.  The decrease in cash flows provided by operating activities was primarily due to less cash-advantageous changes in working capital, most notably as it relates to accounts receivable.  During 2020, accounts receivable contracted by $6.4 million, or 16%, driven by a 4% reduction in annual revenues coupled with a significant decrease in days sales outstanding ("DSO") from 52 days to 45 days.  During 2021, accounts receivable expanded by $2.0 million, or 6%, driven by a corresponding 6% increase in annual revenues with DSO remaining unchanged at </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45 days.  The resulting impact to operating cash flows was a $3.7 million increase during 2020 compared to a $3.2 million decrease during 2021.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Investing Cash Flow Activities</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used in investing activities increased from $6.7 million in 2020 to $69.9 million during 2021.  Most notably, we used $59.6 million of cash during 2021 to fund our acquisition of TruCode, with no such acquisitions occurring during 2020.  Cash outflows for purchases of property and equipment decreased from $3.3 million in 2020 to $0.9 million during 2021. This decrease in cash outflows is mostly due to the addition of a West Coast data center to enhance our remote hosting capabilities in 2020 without similar capital expenditures during 2021. Lastly, cash outflows related to capitalized internal software development efforts increased by $6.0 million due to the aforementioned change in methodology for estimating labor costs eligible for capitalization.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Financing Cash Flow Activities</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2021, our financing activities were a net source of cash in the amount of $20.9 million, as $61.0 million in borrowings from our revolving line of credit were offset by long-term debt principal payments of $38.8 million and $1.3 million used to repurchase shares of our common stock, which are treated as treasury stock. Financing activities used $37.0 million during 2020, primarily due to $31.6 million net paid in long-term debt principal, $4.3 million cash paid in dividends and $1.3 million used to repurchase shares of our common stock.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On September 4, 2020, our Board of Directors approved a stock repurchase program to repurchase up to $30.0 million in aggregate amount of the Company's outstanding shares of common stock through open market purchases, privately-negotiated transactions, or otherwise in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended. These shares may be purchased from time to time over a two-year period depending upon market conditions. Our ability to repurchase shares is subject to compliance with the terms of our Amended and Restated Credit Agreement. Concurrent with the authorization of this stock repurchase program, the Board of Directors opted to indefinitely suspend all quarterly dividends.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Agreement</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, we had $69.4 million in principal amount outstanding under the term loan facility and $31.0 million in principal amount outstanding under the revolving credit facility. Each of our credit facilities continues to bear interest at a rate per annum equal to an applicable margin plus, at our option, either (1) the Adjusted LIBOR rate for the relevant interest period, subject to a floor of 0.50%, (2) an alternate base rate determined by reference to the greater of (a) the prime lending rate of Regions, (b) the federal funds rate for the relevant interest period plus one half of one percent per annum and (c) the one month LIBOR rate, subject to the aforementioned floor, plus one percent per annum, or (3) a combination of (1) and (2). The applicable margin range for LIBOR loans and the letter of credit fee ranges from 1.8% to 3.0%. The applicable margin range for base rate loans ranges from 0.8% to 2.0%, in each case based on the Company's consolidated net leverage ratio.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Principal payments with respect to the term loan facility are due on the last day of each fiscal quarter beginning September 30, 2020, with quarterly principal payments of approximately $0.9 million through June 30, 2022, approximately $1.4 million through June 30, 2024 and approximately $1.9 million through March 31, 2025, with maturity on June 16, 2025 or such earlier date as the obligations under the Amended and Restated Credit Agreement become due and payable pursuant to the terms of such agreement. Any principal outstanding under the revolving credit facility is due and payable on the maturity date.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our credit facilities are secured pursuant to an Amended and Restated Pledge and Security Agreement, dated June 16, 2020, among the parties identified as obligors therein and Regions, as collateral agent, on a first priority basis by a security interest in substantially all of the tangible and intangible assets (subject to certain exceptions) of the Company and certain subsidiaries of the Company, as guarantors (collectively, the &#8220;Subsidiary Guarantors&#8221;), including certain registered intellectual property and the capital stock of certain of the Company&#8217;s direct and indirect subsidiaries. Our obligations under the Amended and Restated Credit Agreement are also guaranteed by the Subsidiary Guarantors.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Amended and Restated Credit Agreement provides incremental facility capacity of $50 million, subject to certain conditions. The Amended and Restated Credit Agreement includes a number of restrictive covenants that, among other things and in each case subject to certain exceptions and baskets, impose operating and financial restrictions on the Company and the Subsidiary Guarantors, including the ability to incur additional debt; incur liens and encumbrances; make certain restricted payments, including paying dividends on the Company's equity securities or payments to redeem, repurchase or retire the Company's equity securities (which are subject to our compliance, on a pro forma basis to give effect to the restricted payment, with the fixed charge coverage ratio and consolidated net leverage ratio described below); enter into certain restrictive agreements; make investments, loans and acquisitions; merge or consolidate with any other person; dispose of assets; enter into </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">sale and leaseback transactions; engage in transactions with affiliates; and materially alter the business we conduct. The Amended and Restated Credit Agreement requires the Company to maintain a minimum fixed charge coverage ratio of 1.25:1.00 throughout the duration of such agreement. Under the Amended and Restated Credit Agreement, the Company is required to comply with a maximum consolidated net leverage ratio of 3.50:1.00. The Amended and Restated Credit Agreement also contains customary representations and warranties, affirmative covenants and events of default. We believe that we were in compliance with the covenants contained in such agreement as of December 31, 2021.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Amended and Restated Credit Agreement requires the Company to mandatorily prepay the credit facilities with 50% of excess cash flow (minus certain specified other payments). This mandatory prepayment requirement is applicable only if the Company's consolidated net leverage ratio exceeds 2.50:1.00. The Company is permitted to voluntarily prepay our credit facilities at any time without penalty, subject to customary &#8220;breakage&#8221; costs with respect to prepayments of LIBOR rate loans made on a day other than the last day of any applicable interest period. The excess cash flow mandatory prepayment requirement under the credit agreement did not result in a prepayment in 2021 or 2020.   </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Bookings</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Bookings is a key operational metric used by management to assess the relative success of our sales generation efforts, and were as follows for the years ended December&#160;31, 2021 and 2020, respectively:</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:66.151%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.275%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">System sales and support </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,633&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,449&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,240&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,341&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total system sales and support</span></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,873&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,790&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,340&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,238&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total bookings</span></td><td style="border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,213&#160;</span></td><td style="border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,028&#160;</span></td><td style="border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:3pt"><td colspan="9" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="9" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> Generally calculated as the total contract price (for system sales) including annualized contract value (for support) for perpetual license system sales and total contract price for SaaS sales.</span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Generally calculated as the total contract price (for non-recurring, project-related amounts) and annualized contract value (for recurring amounts).</span></div></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales activities during the first half of 2021 suffered from a number of incremental headwinds, chief among them being (a) COVID-19 related distractions, including increased infection rates for certain geographies and widespread focus on eventual vaccine rollouts, (b) reorganization transitions related to our February 2021 reduction-in-force, and (c) lower-value regulatory purchases required by the Centers for Medicare and Medicaid Services' Hospital Price Transparency mandate requiring hospitals to provide clear, accessible pricing information online. These topics disproportionately dominated sales discussions and resources. Such headwinds began dissipating during the third quarter of 2021, resulting in overall bookings growth of $2.2 million, or 5%, for the second half of 2021 compared to the second half of 2020.  However, the significant impact of these headwinds placed severe pressure on bookings for the first half of the year, resulting in bookings for 2021 that were $11.8 million, or 14%, below 2020 levels.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acute Care EHR bookings in 2021 decreased by $4.8 million, or 11%, compared to 2020, as the impact of the aforementioned headwinds on bookings experienced during the first half of 2021 outweighed the increased strength in demand for new EHR installations during the second half of 2021.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Bookings for our Post-acute EHR segment decreased by $3.1 million, or 49%.  Bookings volumes during the second and third quarters of 2020 were unusually high, representing the highest bookings periods for this business segment since 2016.  By comparison, bookings for 2021 were significantly impacted by the aforementioned headwinds.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">TruBridge bookings decreased by $3.9 million, or 12%, despite large international client wins propelling a record year for GRH bookings, which increased to $9.0 million in 2021 compared to $2.4 million during 2020.  Exclusive of GRH, TruBridge bookings from existing EHR customers decreased by $7.4 million, or 36%, from 2020 levels while bookings from outside our EHR client base decreased by $3.1 million, or 29%, due to the aforementioned headwinds.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Bookings represent our sales activity during the periods reported above. The amount and volume of pending contracts at the end of the period is described under &#8220;Business &#8211; Backlog.&#8221;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Some of the contracts in our backlog are subject to modification or cancellation at the convenience of the customer, or for default in the event that we are unable to perform under the contract.  </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">55</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There can be no assurance that our bookings or backlog will result in actual revenue in any particular period, or at all, or that any contract included in backlog will be profitable.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical Accounting Policies and Estimates</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">General</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our discussion and analysis of our financial condition and results of operations are based on our financial statements, which have been prepared in accordance with accounting principles generally accepted in the United States of America. We are required to make some estimates and judgments that affect the preparation of these financial statements. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances, but actual results may differ from these estimates under different assumptions or conditions.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized upon transfer of control of promised products or services to clients in an amount that reflects the consideration we expect to receive in exchange for those products and services. We enter into contracts that can include various combinations of products and services, which are generally distinct and accounted for as separate performance obligations. The Company employs the 5-step revenue recognition model under ASC 606, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue from Contracts with Customers,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> to: (1) identify the contract with the client, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when (or as) the entity satisfies a performance obligation.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized net of shipping charges and any taxes collected from clients, which are subsequently remitted to governmental authorities. </span></div><div style="margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">System Sales and Support</span></div><div style="margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into contractual obligations to sell perpetual software licenses, installation, conversion and related training services, software application support, hardware, and hardware maintenance services to acute care community hospitals and post-acute care providers. </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Non-recurring Revenues</span></div><div style="margin-top:9pt;padding-left:90pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Perpetual software licenses and installation, conversion, and related training services are not considered separate and distinct performance obligations due to the proprietary nature of our software and are, therefore, accounted for as a single performance obligation on a module-by-module basis. Revenue is recognized as each module's implementation is completed based on the module's stand-alone selling price ("SSP"), net of discounts. We determine each module's SSP using the residual method. Fees for licenses and installation, conversion, and related training services are typically due in three installments: (1) at placement of order, (2) upon installation of software and commencement of training, and (3) upon satisfactory completion of monthly accounting cycle or end-of-month operation by application and as applicable for each application. Often, short-term and/or long-term financing arrangements are provided for software implementations; refer to Note 11 - Financing Receivables for further information. Electronic health records ("EHR") implementations include a system warranty that terminates thirty days from the software go-live date, the date which the client begins using the system in a live environment.</span></div><div style="margin-top:9pt;padding-left:90pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Hardware revenue is recognized on a gross basis separately from software licenses at the point in time it is delivered to the client. The SSP of hardware is cost plus a reasonable margin. Payment is generally due upon delivery of the hardware to the client. Standard manufacturer warranties apply to hardware.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Recurring Revenues</span></div><div style="margin-top:9pt;padding-left:90pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Software application support and hardware maintenance services sold with software licenses and hardware are separate and distinct performance obligations. Revenue for support and maintenance services is recognized based on SSP, which is the renewal price, ratably over the life of the contract, which is generally three to five years. Payment is due monthly for support services provided.</span></div><div style="margin-top:9pt;padding-left:90pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Subscriptions to third party content revenue is recognized on a gross basis as a separate performance obligation ratably over the subscription term based on SSP, which is cost plus a reasonable margin. Payment is due monthly for subscriptions to third party content.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;padding-left:90pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Software as a Service ("SaaS") arrangements for EHR software and related conversion and training services are considered a single performance obligation. Revenue is recognized on a monthly basis as the SaaS service is provided to the client over the contract term. Payment is due monthly for SaaS services provided.</span></div><div style="margin-top:9pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">TruBridge</span></div><div style="margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">TruBridge provides an array of business processing services ("BPS") consisting of accounts receivable management, private pay services, insurance services, medical coding, electronic billing, statement processing, payroll processing, and contract management. Fees are recognized over the period of the client contractual relationship as the services are performed based on the SSP, net of discounts. SSP for TruBridge BPS services is determined based on observable stand-alone selling prices. Fees for many of these services are invoiced, and revenue recognized accordingly, based on the volume of transactions or a percentage of client accounts receivable collections. Payment is due monthly for BPS with certain amounts varying based on utilization and/or volumes.</span></div><div style="margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">TruBridge also provides professional IT services. Revenue from professional IT services is recognized as the services are performed based on SSP, which is determined by observable stand-alone selling prices. Payment is due monthly as services are performed.</span></div><div style="margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">Lastly, TruBridge also provides certain software solutions and related support under SaaS arrangements and time-based software licenses. Revenue from SaaS arrangements is recognized in a manner consistent with SaaS arrangements for EHR software, as discussed above. Revenue from time-based software licenses is recognized upon delivery to the client (&#8220;point in time&#8221;) and revenue from non-license components (i.e., support) is recognized ratably over the respective contract term (&#8220;over time&#8221;). SSP for time-based licenses is determined using the residual approach, while the non-license component is based on cost plus reasonable margin.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contracts with clients often include promises to transfer multiple products and services. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Judgment is required to determine SSP for each distinct performance obligation. We use observable SSP for items that are sold on a stand-alone basis to similarly situated clients at unit prices within a sufficiently narrow range. For performance obligations that are sold to different clients for a broad range of amounts, or for performance obligations that are never sold on a stand-alone basis, the residual method in determining SSP is applied and requires significant judgment. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Allocating the transaction price, including estimating SSP of promised goods and services for contracts with discounts or variable consideration, may require significant judgment. Due to the short time frame of the implementation cycle, discount allocation is immaterial as revenue is recognized net of discounts within the same reporting period. In scenarios where the Company enters into a contract that includes both a software license and BPS or other services that are charged based on volume of services rendered, the Company allocates variable amounts entirely to a distinct good or service. The terms of the variable payment relate specifically to the entity&#8217;s efforts to satisfy that performance obligation. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Although we believe that our approach to estimates and judgments regarding revenue recognition is reasonable, actual results could differ and we may be exposed to increases or decreases in revenue that could be material.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Allowance for Credit Losses</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade accounts receivable are stated at the amount the Company expects to collect and do not bear interest. The collectability of trade receivable balances is regularly evaluated based on a combination of factors such as customer credit-worthiness, past transaction history with the customer, current economic industry trends and changes in customer payment patterns, resulting in the establishment of general reserves. Additionally, if it is determined that a customer will be unable to fully meet its financial obligation, such as in the case of a bankruptcy filing or other material event impacting its business, a specific allowance for credit losses may be recorded to reduce the related receivable to the amount expected to be recovered. Refer to Note 11 of the consolidated financial statements included herein for a detailed discussion about our credit loss accounting policy related to trade accounts receivable. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has sold information and patient care systems to certain healthcare providers under short-term payment plans and sales-type leases. The Company establishes an allowance for credit losses for these financing receivables based on the historical level of customer defaults under such financing arrangements. Additionally, if it is determined that a customer will be unable to meet its financial obligation, such as in the case of a bankruptcy filing or other material event impacting its business, a specific allowances may be recorded to reduce the related receivable to the amount expected to be recovered. </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued ASU 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments-Credit Losses (Topic 326), </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">which requires the measurement of all expected credit losses for financial assets held at the reporting date based on historical experience, current conditions, and reasonable and supportable forecasts.  We adopted the new standard as of January 1, 2020.  Adoption of this standard did not have a material impact on our consolidated financial statements. Although we believe that that our approach to estimates and judgments regarding our allowance for credit losses is reasonable, actual results could differ and we may be exposed to increases or decreases in required allowances that could be material.</span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Estimates</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company uses estimates to record certain transactions and liabilities. These estimates are generally based on management&#8217;s best judgment, past experience, and utilization of third party services such as actuarial and other expert services. Because these estimates are subjective and variable, actual results could differ significantly from these estimates. Significant estimates included in our financial statements include those for self-insurance reserves under our health insurance plan, reserves for uncertain tax positions, bad debt and credit allowances, legal liability exposure or lack thereof, and accrued expenses.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Combinations, including Purchased Intangible Assets</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for business combinations at fair value. Acquisition costs are expensed as incurred and recorded in general and administrative expenses. Measurement period adjustments relate to adjustments to the fair value of assets acquired and liabilities assumed based on information that we should have known at the time of acquisition. All changes to purchase accounting that do not qualify as measurement period adjustments are included in current period earnings.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value amount assigned to an intangible asset is based on an exit price from a market participant&#8217;s viewpoint, and utilizes data such as discounted cash flow analysis and replacement cost models. We review acquired intangible assets for impairment whenever events or changes in circumstances indicate that the carrying amount of such assets may not be recoverable.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is recorded as the difference, if any, between the aggregate consideration paid for an acquisition and the fair value of the identifiable net tangible and intangible assets acquired. Goodwill is not amortized but is evaluated for impairment annually or more frequently if indicators of impairment are present or changes in circumstances suggest that impairment may exist. We test annually for impairment as of October 1. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of our annual goodwill impairment test, we first assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. If we conclude that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, we conduct a quantitative goodwill impairment assessment which compares the fair value of the reporting unit with its carrying amount, including goodwill. If the carrying amount of the reporting unit exceeds its fair value, an impairment charge is recognized for the amount by which the carrying amount exceeds that reporting unit's fair value. If the fair value of the reporting unit exceeds its carrying amount, the goodwill of the reporting unit is not considered to be impaired. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Critical estimates in valuing certain intangible assets and the fair value of the reporting unit during goodwill impairment tests include, but are not limited to, identifying reporting units, historical and projected customer retention rates, anticipated growth in revenue from the acquired customers, and expected future cash outflows.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant judgments in testing goodwill for impairment also include assigning assets and liabilities to the reporting unit and determining the fair value of each reporting unit based on management&#8217;s best estimates and assumptions, as well as other information compiled by management, including valuations that utilize customary valuation procedures and techniques.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management&#8217;s best estimates and assumptions are employed in determining the appropriateness of these assumptions as of the acquisition date and for each subsequent period.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future business and economic conditions, as well as differences actually related to any of the assumptions, could materially affect the financial statements through impairment of goodwill or intangible assets, and acceleration of the amortization period of the purchased intangible assets, which are finite-lived assets.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of October 1, 2021, the date of our most recent impairment test, our Post-acute Care EHR and TruBridge reporting units had fair values that were substantially in excess of their respective carrying values, at 50% and 240%, respectively. The calculated fair value of our Acute Care EHR reporting unit exceeded the reporting unit&#8217;s carrying value by 23% and, as such, poses a heightened risk of impairment if the reporting unit&#8217;s operating results were to decline in future periods. During the three months </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ended December 31, 2021, there were no identified indicators of impairment that required the Company to complete an interim quantitative assessment related to any of the Company&#8217;s reporting units or indefinitely-lived intangible assets.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Software Development Costs</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software development costs are accounted for in accordance with ASC 350-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal-Use Software</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. We capitalize incurred labor costs for software development from the time the preliminary project phase is completed until the software is available for general release. Research and development costs and other computer software maintenance costs related to software development are expensed as incurred. We estimate the useful life of our capitalized software and amortize its value on a straight-line basis over that estimated life, which is estimated to be five years. If the actual life of the asset is deemed to be impaired, a write-down of the value of the asset may be recorded as a charge to earnings. Amortization begins when the related features are placed in service.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Quantitative and Qualitative Disclosures about Market and Interest Rate Risk</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our exposure to market risk relates primarily to the potential change in the British Bankers Association London Interbank Offered Rate ("LIBOR"). We had $100.4 million of outstanding borrowings under our credit facilities with Regions Bank at December&#160;31, 2021. The term loan facility and revolving credit facility bear interest at a rate per annum equal to an applicable margin plus (1)&#160;the Adjusted LIBOR rate for the relevant interest period, subject to a floor of 0.5%, (2)&#160;an alternate base rate determined by reference to the greatest of (a)&#160;the prime lending rate of Regions, (b)&#160;the federal funds rate for the relevant interest period plus one half of one percent per annum and (c)&#160;the one month LIBOR rate plus one percent per annum,subject to the aforementioned floor, or (3)&#160;a combination of (1)&#160;and (2). Accordingly, we are exposed to fluctuations in interest rates on borrowings under our credit facilities. A one hundred basis point change in interest rate on our borrowings outstanding as of December&#160;31, 2021 would result in a change in interest expense of approximately $1.0 million annually.  Certain tenors of LIBOR began being phased out in late 2021, with full discontinuation planned for mid-2023. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe the rate selected as the preferred alternative to LIBOR will be an acceptable replacement rate when LIBOR is fully discontinued. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">However, we plan to continue using the available LIBOR tenors until 2023 and as such cannot reasonably estimate the expected impact of the planned discontinuation of LIBOR at this time.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We did not have investments as of December&#160;31, 2021. We do not utilize derivative financial instruments to manage our interest rate risks.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent Accounting Pronouncements</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no new accounting standards required to be adopted in 2021 that had a material impact on our consolidated financial statements, and we do not believe that any recently issued but not yet effective accounting standards, if adopted, would have a material impact on our consolidated financial statements.</span></div><div id="i970301c9c50f467384dc14f962fc03da_97"></div><div><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;7A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this Item is contained in Item&#160;7 herein under the heading "Quantitative and Qualitative Disclosures about Market and Interest Rate Risk."</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_100"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;8.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</span></td></tr></table></div><div><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_103"></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Index to Financial Statements</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:81.891%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.909%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Page</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_106">Management&#8217;s Report on Internal Control Over Financial Reporting</a></span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_106">61</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_109">Report of Grant Thornton LLP, Independent Registered Public Accounting Firm, (PCAOB ID Number </a><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:AuditorFirmId" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMDMvZnJhZzplNzMxMWQ5MThkMzM0OGZmYTQ0MjkwNDEwYWVjZmJhNy90YWJsZTo3MzJhZmY0MzI2ODI0NDkyOTg1ODlmZWMzZTljN2IzNi90YWJsZXJhbmdlOjczMmFmZjQzMjY4MjQ0OTI5ODU4OWZlYzNlOWM3YjM2XzQtMC0xLTEtMjQ2MDkvdGV4dHJlZ2lvbjo4NzE1MmFiYmRlYzU0OTU4YjJhNzFmNWRmYTg3ODdkNV8yMTk5MDIzMjU1NzEz_cee1622e-d954-4377-858a-2de22deeed03">248</ix:nonNumeric><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_109">)</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_109"> on Internal Control Over Financial Reporting</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_109">62</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_112">Report of Grant Thornton LLP, Independent Registered Public Accounting Firm</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_112">, on Consolidated Financial Statements</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_112">63</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_115">Consolidated Balance Sheets &#8212; December&#160;31, 202</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_115">1</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_115"> and 2</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_115">020</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_115">65</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_118">Consolidated Statements of Operations &#8212; Years ended December&#160;31, 202</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_118">1</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_118">, 20</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_118">20</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_118"> and </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_118">2019</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_118">66</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_121">Consolidated Statements of Stockholders&#8217; Equity &#8212; Years ended December&#160;31, 202</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_121">1</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_121">, 20</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_121">20</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_121"> and 201</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_121">9</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_121">67</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_124">Consolidated Statements of Cash Flows &#8212; Years ended December&#160;31, 202</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_124">1</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_124">, 20</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_124">20</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_124"> and 201</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_124">9</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_124">68</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_127">Notes to Consolidated Financial Statements</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_127">70</a></span></div></td></tr><tr style="height:3pt"><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Index to Financial Statement Schedules</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_202">Schedule II &#8212; Valuation and Qualifying Accounts</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i970301c9c50f467384dc14f962fc03da_202">96</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">All other schedules to the financial statements required by Article 9 of Regulation S-X are not applicable and therefore have been omitted.</span></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="padding-left:36pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_106"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">MANAGEMENT&#8217;S REPORT ON INTERNAL CONTROL OVER FINANCIAL REPORTING</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management is responsible for establishing and maintaining adequate internal control over financial reporting as defined in Rule 13a-15(f) under the Securities Exchange Act of 1934. Computer Programs and Systems, Inc.&#8217;s ("CPSI") internal control over financial reporting is designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. CPSI&#8217;s internal control over financial reporting includes those policies and procedures that:</span></div><div style="margin-top:5pt;padding-left:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(i) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of CPSI;</span></div><div style="margin-top:5pt;padding-left:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(ii) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of CPSI are being made only in accordance with authorizations of management and directors of CPSI; and</span></div><div style="margin-top:5pt;padding-left:36pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(iii) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of CPSI&#8217;s assets that could have a material effect on the financial statements.</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management assessed the effectiveness of CPSI&#8217;s internal control over financial reporting as of December&#160;31, 2021. In making this assessment, management used the criteria set forth by the Committee of Sponsoring Organizations of the Treadway Commission (COSO) in </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal Control-Integrated Framework (2013)</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on our assessment and those criteria, management believes that CPSI maintained effective control over financial reporting as of December&#160;31, 2021.</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We excluded TruCode, LLC ("TruCode"), which was included in our consolidated financial statements, from our assessment of internal control over financial reporting as of December 31, 2021 because it was acquired by the Company in a purchase business combination on May 12, 2021. The acquired business of TruCode excluded from our assessment represented approximately 1% of the Company's total assets as of December 31, 2021 and approximately 3% of the Company's consolidated total revenues for the year ended December 31, 2021.</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The independent registered public accounting firm, Grant Thornton LLP, has audited the consolidated financial statements of the Company as of and for the year ended December&#160;31, 2021, and has also issued its report on the effectiveness of the Company&#8217;s internal control over financial reporting included in this </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">report on page 62.</span></div><div style="margin-top:9pt;text-indent:24pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_109"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM ON INTERNAL CONTROL OVER FINANCIAL REPORTING</span></div><div style="text-align:center"><span><br/></span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Board of Directors and Stockholders</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computer Programs and Systems, Inc.:</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Opinion on internal control over financial reporting</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We have audited the internal control over financial reporting of Computer Programs and Systems, Inc. (a Delaware corporation) and subsidiaries (the &#8220;Company&#8221;) as of December 31, 2021, based on criteria established in the 2013 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Internal Control&#8212;Integrated Framework</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> issued by the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;COSO&#8221;). In our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2021, based on criteria established in the 2013 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Internal Control&#8212;Integrated Framework</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> issued by COSO.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;), the consolidated financial statements of the Company as of and for the year ended December 31, 2021, and our report dated March 15, 2022 expressed an unqualified opinion on those financial statements.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Basis for opinion</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The Company&#8217;s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting, included in the accompanying Management&#8217;s Report on Internal Control over Financial Reporting ("Management's Report"). Our responsibility is to express an opinion on the Company&#8217;s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our audit of, and opinion on, the Company&#8217;s internal control over financial reporting does not include the internal control over financial reporting of TruCode, LLC (&#8220;TruCode&#8221;), a wholly-owned subsidiary, whose financial statements reflect total assets and revenues constituting 1% and 3%, respectively, of the related consolidated financial statement amounts as of and for the year ended December 31, 2021. As indicated in Management&#8217;s Report, TruCode was acquired during 2021. Management&#8217;s assertion on the effectiveness of the Company&#8217;s internal control over financial reporting excluded internal control over financial reporting of TruCode.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Definition and limitations of internal control over financial reporting</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">A company&#8217;s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company&#8217;s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company&#8217;s assets that could have a material effect on the financial statements.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ GRANT THORNTON LLP</span></td></tr><tr><td colspan="3" style="display:none"></td></tr><tr style="height:17pt"><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Atlanta, Georgia</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</span></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_112"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM ON CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span><br/></span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Board of Directors and Stockholders</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computer Programs and Systems, Inc.:</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Opinion on the financial statements </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We have audited the accompanying consolidated balance sheets of Computer Programs and Systems, Inc. (a Delaware corporation) and subsidiaries (the &#8220;Company&#8221;) as of December 31, 2021 and 2020, the related consolidated statements of operations, stockholders&#8217; equity, and cash flows for each of the three years in the period ended December 31, 2021, and the related notes and financial statement schedule included under item 15(a) (collectively referred to as the &#8220;financial statements&#8221;). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2021 and 2020, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2021, in conformity with accounting principles generally accepted in the United States of America. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;), the Company&#8217;s internal control over financial reporting as of December 31, 2021, based on criteria established in the 2013 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Internal Control&#8212;Integrated Framework</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"> issued by the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;COSO&#8221;), and our report dated March 15, 2022 expressed an unqualified opinion.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Basis for opinion </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">These financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB. </span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Critical audit matters</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The critical audit matter communicated below is a matter arising from the current period audit or the financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgements. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Goodwill Impairment Assessment</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As described further in Notes 2 and 12 to the consolidated financial statements, management evaluates goodwill for impairment on an annual basis as of October 1, or more frequently if impairment indicators exist, at the reporting unit level. Management estimated the fair values of its reporting units using a combination of the income and market approaches. The determination of the fair value of the reporting units requires management to make significant estimates and assumptions related to forecasts of future revenues and operating expenses and discount rates. We identified the goodwill impairment assessment of the acute reporting unit as a critical audit matter.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The principal considerations for our determination that the goodwill impairment assessment of the acute reporting unit is a critical audit matter is that changes in the assumptions related to forecasts of future revenues, operating expenses and discount rates could materially affect the determination of the fair value of the reporting unit, the amount of any goodwill impairment charge, or both. Management utilized significant judgment when estimating the fair value and carrying value of the reporting unit. In turn, auditing management&#8217;s judgments regarding forecasts of future revenues, operating expenses and the discount rates applied, involved a high degree of subjectivity due to the estimation uncertainty of management&#8217;s significant judgments.</span></div><div><span><br/></span></div><div><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Our audit procedures related to the goodwill impairment assessment of the acute reporting unit included the following, among others:</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">We evaluated the design and tested the operating effectiveness of controls relating to the goodwill impairment assessment of the acute reporting unit, including the determination of the fair value of the reporting unit.</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">We tested management's process for determining the fair value and carrying value of the acute reporting unit.  This included evaluating the appropriateness of the valuation methods, testing the completeness, accuracy, and relevance of data used by management, and evaluating the reasonableness of management's significant assumptions, which included forecasted revenues and operating expenses.  We tested whether these forecasts were reasonable and consistent with historical performance, third-party market data, and other evidence obtained in other areas of the audit.</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">We tested the Company's discounted cash flow models for the acute reporting unit with the assistance of valuation specialists, including the reasonableness of the utilized discount rate.</span></div><div><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;padding-left:14.5pt">We tested the Company's use of the market approach with the assistance of valuation specialists, including the reasonableness of selected multiples.</span></div><div><span><br/></span></div><div><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:AuditorName" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTIvZnJhZzoxOTUwZjgxZjYzZGQ0MmFmYTJmZGE5NGIwODMwYzBiMy90YWJsZTo3NTkwNTYwN2YzYzE0ZDFiYjAxY2NlNmU2NGEwNjYzOS90YWJsZXJhbmdlOjc1OTA1NjA3ZjNjMTRkMWJiMDFjY2U2ZTY0YTA2NjM5XzAtMC0xLTEtMjU0MDQvdGV4dHJlZ2lvbjo2M2E3ZDc3ZjNiNGI0YzNmYWM2Yzk0OTk1YzA0NDNmNV8xMDk5NTExNjI3ODIw_7ef2b720-58ed-41fc-9983-d541476f8e3a">GRANT THORNTON LLP</ix:nonNumeric></span></div></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">We have served as the Company&#8217;s auditor since 2004.</span></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="dei:AuditorLocation" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTIvZnJhZzoxOTUwZjgxZjYzZGQ0MmFmYTJmZGE5NGIwODMwYzBiMy90YWJsZTo3NTkwNTYwN2YzYzE0ZDFiYjAxY2NlNmU2NGEwNjYzOS90YWJsZXJhbmdlOjc1OTA1NjA3ZjNjMTRkMWJiMDFjY2U2ZTY0YTA2NjM5XzQtMC0xLTEtMjU0MDU_668f07cc-7de5-49c9-bac8-247b995ac7a3">Atlanta, Georgia</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</span></td></tr></table></div><div><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">64</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_115"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COMPUTER PROGRAMS AND SYSTEMS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED BALANCE SHEETS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except per share data)</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"><tr><td style="width:1.0%"></td><td style="width:72.793%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.584%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.586%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMtMS0xLTEtMTg2ODk_b9f878f4-b704-4f72-89a7-41f99179a40a">11,431</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMtMy0xLTEtMTg2ODk_4b538714-9250-4c3a-a1bd-4b2848656a6e">12,671</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable, net of allowance for credit losses of $<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzUtMC0xLTEtMTg2ODkvdGV4dHJlZ2lvbjpjNWVmNTNhMTM4NzU0MmJjOWRkMDg2MGQyYzRjMWFjOV82Mw_6e4f8287-6a22-423a-8d40-b1c4fb1656f2">1,826</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzUtMC0xLTEtMTg2ODkvdGV4dHJlZ2lvbjpjNWVmNTNhMTM4NzU0MmJjOWRkMDg2MGQyYzRjMWFjOV83MA_1e6409c4-c73d-4290-bd41-cad2d115eea4">1,701</ix:nonFraction>, respectively</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzUtMS0xLTEtMTg2ODk_4f367b17-3eeb-4273-afc6-891e4f6f004f">34,431</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzUtMy0xLTEtMTg2ODk_10636d4e-9af7-4c48-8feb-c673be206309">32,414</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing receivables, current portion, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:NotesAndLoansReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzYtMS0xLTEtMTg2ODk_a685523f-06da-4580-ab68-17ba66590234">6,488</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:NotesAndLoansReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzYtMy0xLTEtMTg2ODk_be41934c-3cb5-4fcd-94fa-50a61b4bef98">10,821</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:InventoryNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzctMS0xLTEtMTg2ODk_1a0492d0-17e5-4526-a0c9-391b8c55ba80">855</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzctMy0xLTEtMTg2ODk_6796be95-e58f-4fcd-8b15-7c49c7c614d8">1,084</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:PrepaidTaxes" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzktMS0xLTEtMTg2ODk_fc4b0fe7-c9da-4cdc-9cd9-9225651a5264">4,599</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:PrepaidTaxes" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzktMy0xLTEtMTg2ODk_faa3ab80-2a18-45d4-9287-8432ac99e3c3">1,789</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEwLTEtMS0xLTE4Njg5_7b1f3f56-0b7d-441a-ab64-76e12f8792be">11,194</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEwLTMtMS0xLTE4Njg5_100744ec-0ae8-422c-9792-9f0273733d3a">8,365</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzExLTEtMS0xLTE4Njg5_f518c2dd-7de4-4b1e-a4bb-de53feb4da40">68,998</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzExLTMtMS0xLTE4Njg5_6db2ddd3-efe6-44d9-88b1-38517163c2c0">67,144</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEyLTEtMS0xLTE4Njg5_3732bb3e-1abe-4ec8-a061-fc687263e214">11,590</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEyLTMtMS0xLTE4Njg5_43add6dd-8f1b-41b6-bee5-e3990cf54682">13,139</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Software development costs, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:CapitalizedComputerSoftwareNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEzLTEtMS0xLTE4Njg5_27ff84f8-e393-4758-b296-55f432eab588">11,644</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CapitalizedComputerSoftwareNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEzLTMtMS0xLTE4Njg5_2cc298a6-8e62-40d1-8916-b4eba55e58eb">3,210</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE0LTEtMS0xLTE4Njg5_b11be657-ce71-49c0-b2b6-c55d913a220b">7,097</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE0LTMtMS0xLTE4Njg5_85fa63ef-46e2-4775-a374-db32d7781675">6,610</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing receivables, net of current portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:NotesAndLoansReceivableNetNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE1LTEtMS0xLTE4Njg5_dcda030d-0ddf-415b-be5b-4257399b6d1a">7,231</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:NotesAndLoansReceivableNetNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE1LTMtMS0xLTE4Njg5_304b3a65-c33f-482f-97e7-187b2f369247">11,477</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets, net of current portion</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE2LTEtMS0xLTE4Njg5_e389e22f-db46-4fa5-a802-f797cca1ede9">3,874</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE2LTMtMS0xLTE4Njg5_fdcd33df-0f7d-4624-89db-3c2154e77881">2,787</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE3LTEtMS0xLTE4Njg5_c117900a-e325-480d-8878-dce60369f54f">95,203</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE3LTMtMS0xLTE4Njg5_5cb55b32-2503-4b4b-b106-a56af2be0912">71,689</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE4LTEtMS0xLTE4Njg5_d58497cc-d52f-453a-8d8f-50481a4724f4">177,713</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE4LTMtMS0xLTE4Njg5_8803e519-6ddc-49a8-b276-5120a5520c3a">150,216</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzIwLTEtMS0xLTE4Njg5_68821cb7-95f6-4f3a-8293-0c3893432452">383,350</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzIwLTMtMS0xLTE4Njg5_d94f7d8d-a40b-48b5-aef4-02dbbd352101">326,272</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities and Stockholders&#8217; Equity</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzIzLTEtMS0xLTE4Njg5_ca49c05a-b225-4065-8ab8-237a1a7d5e2e">8,079</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzIzLTMtMS0xLTE4Njg5_e02ef764-71bf-4636-9368-3c8577568b44">7,716</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion of long-term debt</span></div><div style="text-indent:36pt"><span><br/></span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI0LTEtMS0xLTE4Njg5_0e754137-aa99-4f8f-a2d9-d06257c256d5">4,394</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI0LTMtMS0xLTE4Njg5_a0823931-96a5-4628-a1cc-5e3d60fbf387">3,457</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI1LTEtMS0xLTE4Njg5_ab637e23-255b-4489-8a65-a01c1f78036c">11,529</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI1LTMtMS0xLTE4Njg5_46292167-840a-4a3a-b26a-03fa426c44e8">8,130</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued vacation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:AccruedVacationCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI2LTEtMS0xLTE4Njg5_7d1d6d84-f725-4e7b-9afd-548308cdb7b3">5,262</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:AccruedVacationCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI2LTMtMS0xLTE4Njg5_51411a8c-c86d-4c00-b27d-0e39877eee82">5,353</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other accrued liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI4LTEtMS0xLTE4Njg5_a36935ea-512a-4bfe-b029-29c0973e6de8">17,163</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI4LTMtMS0xLTE4Njg5_d170eb73-6bac-4540-babf-36cddc4dce0e">12,786</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI5LTEtMS0xLTE4Njg5_dab011c1-05cb-430a-92b2-8044250e539f">46,427</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI5LTMtMS0xLTE4Njg5_273b4732-72d0-4b4f-8b35-26283bc0b756">37,442</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt, net of current portion</span></div><div style="text-indent:18pt"><span><br/></span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMwLTEtMS0xLTE4Njg5_dd16b3d8-f0b0-4dbb-991f-76cfceb7f827">94,966</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMwLTMtMS0xLTE4Njg5_3bcc23c5-523a-4ca4-b7f5-ba4ba47b0e2a">73,360</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMxLTEtMS0xLTE4Njg5_04e6db53-ba3c-489e-a63b-4e12aa392bbc">5,505</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMxLTMtMS0xLTE4Njg5_e53e77f1-4961-42da-b169-c93506abc800">5,092</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMyLTEtMS0xLTE4Njg5_363d2b68-f29f-434d-8071-8bcefff4c259">13,880</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMyLTMtMS0xLTE4Njg5_060292e0-472f-43c2-a375-fda4b157f2a3">10,378</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities</span></div><div style="text-indent:18pt"><span><br/></span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMzLTEtMS0xLTE4Njg5_45e20ff0-8f6b-4b51-86df-ddef05e75fb6">160,778</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMzLTMtMS0xLTE4Njg5_2ea86336-6e37-4b74-a08c-1a170353dce4">126,272</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stockholders&#8217; equity:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfMTg_7ebc4764-e0c9-4be8-9bcd-bfdbb7f31a41"><ix:nonFraction unitRef="usdPerShare" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfMTg_afcaefbc-a748-4b9a-845b-30c9a015026d">0.001</ix:nonFraction></ix:nonFraction> par value per share; <ix:nonFraction unitRef="shares" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfNDI_08066cd1-1bb5-422a-9bfe-e5351cc95f9a"><ix:nonFraction unitRef="shares" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfNDI_183de5b5-8cd7-40b2-b856-74b64834edb0">30,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="shares" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfNjQ_526e916e-6372-40f2-8920-36ce7376c208"><ix:nonFraction unitRef="shares" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfNjQ_adab44ab-d91c-40ac-b3fe-0ecf9268515f">14,734</ix:nonFraction></ix:nonFraction> shares issued at December 31, 2021 and <ix:nonFraction unitRef="shares" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfMTA2_46545c71-68d6-407a-987c-046c6272f778"><ix:nonFraction unitRef="shares" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfMTA2_7aadd8c6-a44b-423c-8720-22601f352003">14,511</ix:nonFraction></ix:nonFraction> shares issued at December 31, 2020</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTEtMS0xLTE4Njg5_0765d28e-6dd1-45e5-88da-334bca683b83">15</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTMtMS0xLTE4Njg5_56c06e8d-09bd-42ff-86c0-0f3bc7a2b7ba">15</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additional paid-in capital</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:AdditionalPaidInCapitalCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM2LTEtMS0xLTE4Njg5_56884b28-d79f-4b29-94e1-bcbde1b1928f">187,079</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:AdditionalPaidInCapitalCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM2LTMtMS0xLTE4Njg5_8667edda-8103-49f2-939d-57b80a34f413">181,622</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Retained earnings </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM4LTEtMS0xLTE4Njg5_81827bb5-f762-479d-9aba-fe765305c28b">38,054</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM4LTMtMS0xLTE4Njg5_19cf60ff-ef56-402c-b734-687f0f34b964">19,624</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury stock, <ix:nonFraction unitRef="shares" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:TreasuryStockShares" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM5LTAtMS0xLTE4Njg5L3RleHRyZWdpb246Nzc1YzIzNTg1MjQ5NGU4NzgwNzI3YjVmNjg1NTkyZTZfMjA_3ca26089-6507-4319-a70d-2be52503165c">89</ix:nonFraction> shares at December 31, 2021 and <ix:nonFraction unitRef="shares" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:TreasuryStockShares" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM5LTAtMS0xLTE4Njg5L3RleHRyZWdpb246Nzc1YzIzNTg1MjQ5NGU4NzgwNzI3YjVmNjg1NTkyZTZfNTU_e82a3f59-0b23-45a1-a150-3d315ceca383">47</ix:nonFraction> shares at December 31, 2020</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:TreasuryStockValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM5LTEtMS0xLTE4Njg5_3bd5dd91-8461-4cd6-b933-bebf2372861d">2,576</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:TreasuryStockValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM5LTMtMS0xLTE4Njg5_a8354733-f0d9-4e5d-8d71-971de6b13833">1,261</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stockholders&#8217; equity</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzQwLTEtMS0xLTE4Njg5_0c53ffd7-223a-428d-879a-755cedc0640a">222,572</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzQwLTMtMS0xLTE4Njg5_decdaaa3-9c1e-4d2f-82d7-d0d66244dff0">200,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities and stockholders&#8217; equity</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzQxLTEtMS0xLTE4Njg5_bf0768a7-092b-4d33-9a53-91df6caa914c">383,350</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzQxLTMtMS0xLTE4Njg5_70236a06-c1bb-441b-b03e-4cfdc8f42bec">326,272</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_118"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COMPUTER PROGRAMS AND SYSTEMS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF OPERATIONS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except per share data)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:59.313%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.603%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.603%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.605%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Year ended December&#160;31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Sales revenues:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">System sales and support</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c03f5a350164dcbb88151a9307a6efe_D20210101-20211231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMtMS0xLTEtMTg2ODk_1b625020-1466-4f7e-95c0-d3a47dd8df40">143,109</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i05a70aa5b9b94fd3bbf9a56289584148_D20200101-20201231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMtMy0xLTEtMTg2ODk_7971f3da-3a3a-48e0-a075-0447473a04c0">152,954</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie7e2bfd4d0ab499386b43274469ef5d0_D20190101-20191231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMtNS0xLTEtMTg2ODk_2238176f-065b-4117-b317-636175651122">165,352</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i18c7be7656c24e6cb00dfab95139b68f_D20210101-20211231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzQtMS0xLTEtMTg2ODk_108bfb85-71a0-4d6d-a199-b31459dcf561">137,520</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0ae67a7678f9428da4168541bb76702a_D20200101-20201231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzQtMy0xLTEtMTg2ODk_56f0d26b-6cef-44ea-bbd3-0362683c8fa9">111,534</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i745fc6d60f45437b89444e5f20c3d2d4_D20190101-20191231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzQtNS0xLTEtMTg2ODk_176275a8-eb73-4482-8464-aaba7c0e3921">109,282</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total sales revenues</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzUtMS0xLTEtMTg2ODk_8b22062e-6c0b-49a5-9dba-2229d45e8681">280,629</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzUtMy0xLTEtMTg2ODk_b3f8b4de-8e13-4f7d-9e57-a94e4833c2a3">264,488</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzUtNS0xLTEtMTg2ODk_a0260ca6-a9cb-479c-aadf-248650a116ce">274,634</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Costs of sales (exclusive of amortization shown separately below):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">System sales and support</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c03f5a350164dcbb88151a9307a6efe_D20210101-20211231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzctMS0xLTEtMTg2ODk_89762d70-9b8d-45e0-bca2-41ad4e39b6bd">70,664</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i05a70aa5b9b94fd3bbf9a56289584148_D20200101-20201231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzctMy0xLTEtMTg2ODk_a1ae58b3-25bb-4101-be78-e373fc18d5dd">69,361</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie7e2bfd4d0ab499386b43274469ef5d0_D20190101-20191231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzctNS0xLTEtMTg2ODk_2c00dc81-6e9c-4564-bb3e-0c12fb10f46e">73,872</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i18c7be7656c24e6cb00dfab95139b68f_D20210101-20211231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzgtMS0xLTEtMTg2ODk_f0f474a2-4e37-4f15-a30a-e13847cdf7ea">69,083</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0ae67a7678f9428da4168541bb76702a_D20200101-20201231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzgtMy0xLTEtMTg2ODk_cffec735-3d9b-4438-9527-9b687f96f4c0">58,881</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i745fc6d60f45437b89444e5f20c3d2d4_D20190101-20191231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzgtNS0xLTEtMTg2ODk_b3e655ef-2f59-43e5-8f56-a62cc1b9e95b">56,617</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total costs of sales</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzktMS0xLTEtMTg2ODk_61a6d826-e76f-41e0-9423-55baad15f5dd">139,747</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzktMy0xLTEtMTg2ODk_0501d1cc-16ec-446a-91e1-30d02cc5c169">128,242</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzktNS0xLTEtMTg2ODk_10b0cc30-16b0-42d3-8016-d97ad55d2362">130,489</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEwLTEtMS0xLTE4Njg5_518bd31e-b6eb-435d-9d57-693c1234fef4">140,882</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEwLTMtMS0xLTE4Njg5_fb388b9f-8bd3-48ad-9856-37cfec6facb1">136,246</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEwLTUtMS0xLTE4Njg5_56ecf343-b631-42e6-9569-b9b2183ee8cc">144,145</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product development</span></div><div style="text-indent:18pt"><span><br/></span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEyLTEtMS0xLTE4Njg5_b1a78317-6624-4c65-bd94-cc5d5d5dcabc">30,389</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEyLTMtMS0xLTE4Njg5_d9d3ae20-89c7-4f2a-ab9f-a9c197b09753">33,457</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEyLTUtMS0xLTE4Njg5_20e0de2b-8792-4132-ac8e-4569af0ca6e3">36,861</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEzLTEtMS0xLTE4Njg5_8c167baf-a6d1-4d8f-bc70-82d11ab3687d">21,978</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEzLTMtMS0xLTE4Njg5_4fb97540-b41b-4757-aafb-6f3f55edc334">22,835</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEzLTUtMS0xLTE4Njg5_0fa688f7-8b38-4e5e-a7c3-8984b8c86c8f">26,495</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE0LTEtMS0xLTE4Njg5_e10ecee8-d57b-4cba-bbee-9d11bb798f7b">50,022</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE0LTMtMS0xLTE4Njg5_bc980b4d-1219-4d9c-883c-428eee9f1d6a">47,479</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE0LTUtMS0xLTE4Njg5_2d8e1efd-1df4-4fe2-9256-4bdf9c3b7114">45,200</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of acquisition-related intangibles</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE1LTEtMS0xLTE4Njg5_4f50cffe-651e-4384-b32a-6d3506c2050a">13,786</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE1LTMtMS0xLTE4Njg5_3dfb11c4-98b7-4daf-b0b8-e8dc2b954921">11,421</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE1LTUtMS0xLTE4Njg5_7a4d349b-f615-41e6-ae0a-1ab1ba5a4e28">11,006</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating expenses</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE3LTEtMS0xLTE4Njg5_0406789f-1997-487f-a78d-45a4de1f2f3f">116,175</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE3LTMtMS0xLTE4Njg5_9eb4c767-c3de-4e3c-a789-e16a0bcfb4b6">115,192</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE3LTUtMS0xLTE4Njg5_b0a6f7c8-5770-4735-bc5b-5868c04f720c">119,562</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating income </span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE4LTEtMS0xLTE4Njg5_fee61aa6-0583-4770-8e1e-2cf348bc8ccf">24,707</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE4LTMtMS0xLTE4Njg5_69d5f0b8-fde4-4334-a230-dd9458bcfa4e">21,054</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE4LTUtMS0xLTE4Njg5_52ec3cce-386e-4c4a-8ecb-34e36624c6e5">24,583</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other income (expense):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:OtherNonoperatingIncome" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIwLTEtMS0xLTE4Njg5_32a3b4b9-e92f-4db0-81d6-106cc83877b6">1,529</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:OtherNonoperatingIncome" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIwLTMtMS0xLTE4Njg5_d0272074-55e8-4477-a7e8-c310257a642d">1,494</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:OtherNonoperatingIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIwLTUtMS0xLTE4Njg5_c056306a-0d3f-47e5-b1e6-34704ac43a69">807</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gain on contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIxLTEtMS0xLTE4Njg5_5da65425-fa4d-40e4-b9e2-096aa796e2d6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIxLTMtMS0xLTE4Njg5_2a7e0e45-ed9b-415b-aff4-08d0fe1c97ea">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIxLTUtMS0xLTE4Njg5_b7dabde3-39c1-45ea-978c-547c496d6d07">5,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss on extinguishment of debt</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIyLTEtMS0xLTE4Njg5_f9130499-bac3-401c-b706-e941bab71e60">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIyLTMtMS0xLTE4Njg5_1bfafa25-979e-4953-b83c-a1782a1889c2">202</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIyLTUtMS0xLTE4Njg5_b8541f21-55c8-47ba-9d34-d7836b61faf9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIzLTEtMS0xLTE4Njg5_62249441-79c3-4c40-8922-ef3b06275847">3,160</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIzLTMtMS0xLTE4Njg5_4bbaf63c-4d7f-4e8e-a3cb-897a7f0b2d00">3,562</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIzLTUtMS0xLTE4Njg5_49f6f198-62e7-4427-b629-675f99d27018">6,694</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total other income (expense) </span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI0LTEtMS0xLTE4Njg5_98f0b786-8a6e-45be-bee4-04638034bd88">1,631</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI0LTMtMS0xLTE4Njg5_52ed904a-228b-4cb8-af16-90fd3adb391b">2,270</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI0LTUtMS0xLTE4Njg5_cb501292-c421-4acb-8882-e7a93bc94c73">887</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before taxes</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI1LTEtMS0xLTE4Njg5_2b63abbf-f9be-4cef-959d-df3a52da2f3d">23,076</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI1LTMtMS0xLTE4Njg5_8b93d81b-d347-4b05-ac08-d49f9e908328">18,784</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI1LTUtMS0xLTE4Njg5_37bd45f5-0b58-4683-a4c2-93c001e596cf">23,696</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI2LTEtMS0xLTE4Njg5_29a5f784-4853-4edd-a768-e62b39e57a3a">4,646</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI2LTMtMS0xLTE4Njg5_86d02bde-f116-4c60-bfb6-28c93a56fd4c">4,538</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI2LTUtMS0xLTE4Njg5_670c3555-5ebc-4f88-b0ff-a477081752b3">3,228</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI3LTEtMS0xLTE4Njg5_a8030114-d27f-4606-b1ee-f80e9bfdf003">18,430</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI3LTMtMS0xLTE4Njg5_7cae8fde-5c0d-40ea-a044-4e05593c766a">14,246</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI3LTUtMS0xLTE4Njg5_e216f205-b844-4178-8b8e-a91480a5f977">20,468</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per share - basic</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI4LTEtMS0xLTE4Njg5_debae4e3-3df7-4a18-9462-cc4fd29de2a2">1.26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI4LTMtMS0xLTE4Njg5_a49d76fe-a5bd-43c0-aa03-ed358cb15110">.98</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI4LTUtMS0xLTE4Njg5_94dbba1f-5a4b-4f61-a8d3-6a8d40b582d2">1.43</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per share - diluted</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI5LTEtMS0xLTE4Njg5_b06979e3-6da1-4b82-8049-c645c4b7a179">1.26</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI5LTMtMS0xLTE4Njg5_5b386886-e2e8-4aa9-b28f-9db8a1844ed5">.98</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI5LTUtMS0xLTE4Njg5_1fa46428-9068-46c8-8e4b-0255ace1a339">1.43</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding used in per common share computations:</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMxLTEtMS0xLTE4Njg5_8f8a02a4-4e30-4c4a-b56a-d505055a4698">14,290</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMxLTMtMS0xLTE4Njg5_d90c3f6f-de80-4b10-a78b-465cb5298698">14,038</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMxLTUtMS0xLTE4Njg5_22dde2d2-1dcf-4e14-a9da-ee8e2492eb6f">13,778</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMyLTEtMS0xLTE4Njg5_9a468136-1ae1-49cf-b2a7-1285e3ea058d">14,318</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMyLTMtMS0xLTE4Njg5_06107326-a8dc-4f35-893e-65c625a44d62">14,038</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMyLTUtMS0xLTE4Njg5_0258c276-88b5-40f4-907a-526da73385e6">13,778</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="margin-top:9pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_121"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COMPUTER PROGRAMS AND SYSTEMS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.561%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.258%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.258%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.258%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.258%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.331%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.258%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.464%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.262%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Common</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Shares</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Common</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Stock</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Additional</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Paid-in</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Capital</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Retained</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Earnings (Accumulated Deficit)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Treasury Stock</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Total</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Stockholders&#8217;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Equity</span></div></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December&#160;31, 2018</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6289b71ef8884ed18903d1e7e8697572_I20181231" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTEtMS0xLTE4Njg5_01dcf539-4528-4d97-9c6f-e14ebdd62a4a">14,083</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6289b71ef8884ed18903d1e7e8697572_I20181231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTMtMS0xLTE4Njg5_ff37b3eb-2120-411e-bdae-08a45d66818a">14</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6ee606e4ff34ae19a0e97f328de9dc7_I20181231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTUtMS0xLTE4Njg5_749d7fdf-c134-4bd2-bb4f-890fd726fb7b">164,793</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6eedb6f3dea941ef924d7276771d7f45_I20181231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTktMS0xLTE4Njg5_3ab1eb1a-c0a9-43aa-b2af-3e881c96b17c">5,024</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8aba27fdc79045019baacfd81483f76d_I20181231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTExLTEtMS0xODY4OQ_39f47579-5753-4304-9d57-f602afcb9ef6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba34e02a99eb4a77a9abd132b80fd41a_I20181231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTEzLTEtMS0xODY4OQ_03fef1b5-f4ca-4a99-8693-44f1e73708d5">159,783</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income </span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i438e17be21934556a24852d84040cdc1_D20190101-20191231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM2LTktMS0xLTE4Njg5_8201a5ce-453e-4dbc-8984-e2269886f221">20,468</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM2LTEzLTEtMS0xODY4OQ_c06c80c3-f2a0-4bfc-b7ce-2c767ef74d0a">20,468</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common stock issued upon exercise of stock options</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i78d30715b9ff4950abf53cd91b6bbddf_D20190101-20191231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM3LTEtMS0xLTE4Njg5_2dcfb104-d9bc-4259-9555-7a492380772e">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i161f1a2c1f7d40c9bc3cd7765d34dc6e_D20190101-20191231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM3LTUtMS0xLTE4Njg5_c08e017e-879e-4d40-bd65-5cfd968cdda2">3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM3LTEzLTEtMS0xODY4OQ_aca0a03c-67bc-4ee4-aaa6-b6ff3a53fcf7">3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Issuance of restricted stock</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i78d30715b9ff4950abf53cd91b6bbddf_D20190101-20191231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM4LTEtMS0xLTE4Njg5_7cf61369-a72b-4c4a-8c03-7e9366dbb4a7">272</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i161f1a2c1f7d40c9bc3cd7765d34dc6e_D20190101-20191231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQwLTUtMS0xLTE4Njg5_4ee88798-e407-423a-b9e8-6d1861a3483c">9,822</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQwLTEzLTEtMS0xODY4OQ_7987d59d-f0d7-4b5a-98fe-e44ce2b1737b">9,822</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividends</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i438e17be21934556a24852d84040cdc1_D20190101-20191231" decimals="-3" name="us-gaap:Dividends" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQxLTktMS0xLTE4Njg5_0b4e8bfd-5396-4724-ae1d-92a09bf82c9a">5,729</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:Dividends" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQxLTEzLTEtMS0xODY4OQ_ea333971-65a0-49cc-8299-62f0cd0e4d4e">5,729</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December&#160;31, 2019</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i5bdf4e1213094d24bc30af4608ab1ab6_I20191231" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTEtMS0xLTE4Njg5_82935e8a-be42-47f3-b7c3-fd9d0403c1a9">14,356</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5bdf4e1213094d24bc30af4608ab1ab6_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTMtMS0xLTE4Njg5_df128210-1754-4e6f-878e-8b9382f0ae59">14</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i03c4d80ea54b45e79405e772d3c33c35_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTUtMS0xLTE4Njg5_aff66690-f1c7-4b93-abae-7218ca7fc0a5">174,618</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i28f393c50f5d4118b8aafcd0ceef0a48_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTktMS0xLTE4Njg5_a41c4e8a-b317-4293-83f8-a7e655d2165b">9,715</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i80b932da804a4ed8b9574e3a636543e7_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTExLTEtMS0xODY4OQ_4afb5490-c003-477a-8578-b811f88d7700">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iade483e7d2224faaba6643c762704fb8_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTEzLTEtMS0xODY4OQ_65e8d6d1-0ac8-4b66-beb1-49824f949e9f">184,347</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i988c23bc2b6c4d6885cccece006a967c_D20200101-20201231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQzLTktMS0xLTE4Njg5_8f579452-9d85-4ff2-93e1-c9cf5323a576">14,246</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQzLTEzLTEtMS0xODY4OQ_4bef6d15-2648-40e0-b1a4-b2a27417f5da">14,246</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Issuance of restricted stock</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i746f8c641c4e4628871b375360ebea34_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ1LTEtMS0xLTE4Njg5_eec27dc8-9bac-4d64-8096-3b8351296be2">156</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i746f8c641c4e4628871b375360ebea34_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ1LTMtMS0xLTE4Njg5_818ab8b2-7e7a-4a35-9153-a5b7977ab2ed">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib7d87517073c4ef080856d0864cc44d5_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ1LTUtMS0xLTE4Njg5_7104f4d3-daef-4a12-9fa9-13b5329b8899">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeiture of restricted stock</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i746f8c641c4e4628871b375360ebea34_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ2LTEtMS0xLTE4Njg5_bd921cfc-3717-4c8e-8891-4c21a6a4ab00">1</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib7d87517073c4ef080856d0864cc44d5_D20200101-20201231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ3LTUtMS0xLTE4Njg5_72298ce8-5827-40bf-830e-6f7126d9f036">7,005</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ3LTEzLTEtMS0xODY4OQ_d0bff054-b627-473b-b777-6621e3db637e">7,005</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury stock purchases</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iabe727aa5b024239a8f88cbaa56f259b_D20200101-20201231" decimals="-3" name="us-gaap:TreasuryStockValueAcquiredCostMethod" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ4LTExLTEtMS0xODY4OQ_f5cb555e-b0d0-4a2f-973d-cbdb81a6ed9b">1,261</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:TreasuryStockValueAcquiredCostMethod" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ4LTEzLTEtMS0xODY4OQ_91a264a5-07f8-41c6-a56c-179ad911303a">1,261</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividends</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i988c23bc2b6c4d6885cccece006a967c_D20200101-20201231" decimals="-3" name="us-gaap:Dividends" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ5LTktMS0xLTE4Njg5_547e1c08-ae20-4ef3-9be3-030058ab20af">4,337</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:Dividends" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ5LTEzLTEtMS0xODY4OQ_bf7176eb-4160-4821-8842-6c6dda82bf3e">4,337</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2020</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i372ccaaaabb64ec7b0184fe91bc0c66e_I20201231" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTEtMS0xLTE4Njg5_af18cf68-d7ec-4574-921b-b1130581701f">14,511</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i372ccaaaabb64ec7b0184fe91bc0c66e_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTMtMS0xLTE4Njg5_d4b7acc0-b38f-43b0-893a-2dbafbe6208f">15</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4b260f3389ec44cc836ffb3fe01ac7ee_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTUtMS0xLTE4Njg5_992af679-9345-4cc8-98d6-be4c97dfac59">181,622</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iff782942cf60437782f74f9de6b582aa_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTktMS0xLTE4Njg5_7eafee18-32c5-4ac9-914d-ec696ac58cc5">19,624</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ida9c8897ad9947d58f4864ed048f4cc3_I20201231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTExLTEtMS0xODY4OQ_21e7f080-35c7-4e3f-8566-6c7d9968fdf8">1,261</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTEzLTEtMS0xODY4OQ_4e0633c0-85be-4d34-8537-26cd29dd8140">200,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idd96f2e6ab4f4c0fbddb03bce1100899_D20210101-20211231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUxLTktMS0xLTE5NDE3_226f1124-c43f-462b-9031-9764042e43e8">18,430</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUxLTEzLTEtMS0yNDA2OA_ced36222-a9f2-49a8-9d04-22ff70dc9892">18,430</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Issuance of restricted stock</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i189b982ec82d4066a9da9cef2b3c2603_D20210101-20211231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUzLTEtMS0xLTE5NDI1_50096559-30da-4f94-8d75-8fd4ca0936c8">229</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeiture of restricted stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i189b982ec82d4066a9da9cef2b3c2603_D20210101-20211231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU0LTEtMS0xLTE5NDI1_f80d6bca-e995-492e-93cd-798d3d77dac5">6</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i40854906b1a84164b853e80f5ce75b40_D20210101-20211231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU1LTUtMS0xLTE5NDI1_f67432a4-f615-40b5-bf5c-844e824c6f64">5,457</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU1LTEzLTEtMS0yNDA3Mw_3a336084-e32b-4599-a4ce-ef19a2ac48ff">5,457</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury stock purchases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie3be8de809da487e916dc4d13609fa3d_D20210101-20211231" decimals="-3" name="us-gaap:TreasuryStockValueAcquiredCostMethod" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU2LTExLTEtMS0xOTQzMg_8630dcfb-2e6a-4920-bee6-f9ca985cff0f">1,315</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:TreasuryStockValueAcquiredCostMethod" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU2LTEzLTEtMS0yNDA3Mw_298d2729-cfb5-4e91-9fae-6c151f59dae2">1,315</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iaf7538eb0c9b4474aee9fc10bdcf72bc_I20211231" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTEtMS0xLTI0MDc3_dd567da1-e61f-40d1-97bd-b27b8d6e5c57">14,734</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf7538eb0c9b4474aee9fc10bdcf72bc_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTMtMS0xLTI0MDc3_9d56a4cf-b913-4a5e-8907-0d21901f8075">15</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i660c77300a31443b809244dda2006fb8_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTUtMS0xLTI0MDc3_20c30bf6-20a2-49ec-bcd8-3b5cb5a73fba">187,079</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i97049eb4e2d34ed7b632ec15d0da61a1_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTktMS0xLTI0MDc3_55be42ec-ea71-4b50-a3f7-aa811cf688d1">38,054</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3235e161e0a8448c8112368fd1541e43_I20211231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTExLTEtMS0yNDA3Nw_f92157d6-0204-4267-b5c9-2531f922b969">2,576</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTEzLTEtMS0yNDA3Nw_245622b2-28db-44df-90d6-e071f9697540">222,572</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="margin-top:9pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_124"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COMPUTER PROGRAMS AND SYSTEMS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF CASH FLOWS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:59.313%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.603%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.603%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.605%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Year ended December&#160;31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Activities</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income </span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMtMS0xLTEtMTg2ODk_d5c21935-7dc5-4bf4-9620-8ffb81ebd19d">18,430</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMtMy0xLTEtMTg2ODk_75825dd0-3d56-43fe-8851-9c64efed111e">14,246</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMtNS0xLTEtMTg2ODk_0750e107-340e-4613-be1c-f5957c7e6f0f">20,468</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to net income:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for bad debt</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzUtMS0xLTEtMTg2ODk_42eb6dc2-63ae-4031-a533-c14cf8eb7a05">2,592</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzUtMy0xLTEtMTg2ODk_83892618-c51b-4446-8f2b-27de1579e1c9">4,370</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzUtNS0xLTEtMTg2ODk_988f9235-6dd5-49c2-b9c7-ea64ffe8dcab">2,348</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzYtMS0xLTEtMTg2ODk_1ca0efdc-4970-4ff6-bcb7-68973e73c4cb">3,502</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzYtMy0xLTEtMTg2ODk_ce769b0e-f820-4c3e-87b6-40e610ec879d">2,755</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzYtNS0xLTEtMTg2ODk_09b8bd6e-00b6-4347-97bf-3843d90da2a9">1,011</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzctMS0xLTEtMTg2ODk_8707ef96-3b37-4f1e-9db5-b628139d3b0d">5,457</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzctMy0xLTEtMTg2ODk_3d51a53b-793a-4831-bd0d-3bda758c7941">7,005</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzctNS0xLTEtMTg2ODk_6db049db-80af-407f-a46f-63d602f7029b">9,822</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzgtMS0xLTEtMTg2ODk_314b4a2c-5fbd-41df-8887-ac3f458c65d2">2,156</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzgtMy0xLTEtMTg2ODk_841817c9-9d5f-425b-9468-9a5070d19d79">1,790</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzgtNS0xLTEtMTg2ODk_4e6a5813-87b0-4663-b369-45e0f8aff698">1,407</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of acquisition-related intangibles</span></div><div style="text-indent:18pt"><span><br/></span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzktMS0xLTEtMTg2ODk_f8e66185-9e07-40e7-a810-e95046afe996">13,786</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzktMy0xLTEtMTg2ODk_f5736be4-db11-4f98-8255-2edc14bf723c">11,421</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzktNS0xLTEtMTg2ODk_d3920f68-b4c1-47b7-891c-3fe356bfe84b">11,006</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of software development costs</span></div><div style="text-indent:18pt"><span><br/></span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:CapitalizedComputerSoftwareAmortization1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEwLTEtMS0xLTE4Njg5_991bc4bb-41c5-4d43-b97c-c1e490ee592d">931</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:CapitalizedComputerSoftwareAmortization1" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEwLTMtMS0xLTE4Njg5_adec0073-84e7-4bf8-9531-3d7754b14afc">118</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:CapitalizedComputerSoftwareAmortization1" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEwLTUtMS0xLTE4Njg5_620a200b-17a3-49f5-9d68-570658641fdd">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of deferred finance costs</span></div><div style="text-indent:18pt"><span><br/></span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzExLTEtMS0xLTE4Njg5_4e57bcb0-3c7c-480c-8891-0cac969573e8">293</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzExLTMtMS0xLTE4Njg5_eb22eda0-b13f-4c46-ae6d-ec59cec0aa2c">317</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzExLTUtMS0xLTE4Njg5_75de2f97-4339-4fc4-a99a-a6f21544817d">345</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gain on contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEyLTEtMS0xLTE4Njg5_200ee45e-294a-4ce7-a97b-f9bdc2805118">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEyLTMtMS0xLTE4Njg5_0b03d0b1-b52f-4d09-8740-fd95a06d0e97">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEyLTUtMS0xLTE4Njg5_5af19ad2-0f63-4881-b012-554fe45545cf">5,000</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss on extinguishment of debt</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE0LTEtMS0xLTE4Njg5_102f6fab-c776-442f-bab9-b3ea204c21d3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE0LTMtMS0xLTE4Njg5_10709dc9-789e-4092-8c21-07c5ef135030">202</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE0LTUtMS0xLTE4Njg5_69ef2a2d-cedd-49c0-adeb-50ea4c6b6bcb">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss on disposal of property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE1LTEtMS0xLTE5NjEw_ca531630-5370-43b5-8d30-76c9bc3810b2">313</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE1LTMtMS0xLTE5NjEz_04959360-7d73-431a-a113-1335bdf294d9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE1LTUtMS0xLTIyMzg4_4e946f0a-6642-4010-821e-e6a30101d7f0">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in operating assets and liabilities (net of acquired assets and liabilities):</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE2LTEtMS0xLTE4Njg5_56bef73a-ec6d-4bcc-b9c8-974ab43d9a77">3,204</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE2LTMtMS0xLTE4Njg5_60b380a5-3f2f-40ed-8ea1-745467dec527">3,667</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE2LTUtMS0xLTE4Njg5_e82e98a6-8719-4b65-bf6e-f5e9b2eb1009">641</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing receivables</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInFinanceReceivables" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE3LTEtMS0xLTE4Njg5_d3dc99f7-0105-48e5-8678-e1a2310dc4e6">8,098</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInFinanceReceivables" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE3LTMtMS0xLTE4Njg5_368ad983-3450-4025-a1fd-036f90b31f39">6,369</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInFinanceReceivables" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE3LTUtMS0xLTE4Njg5_a6b52c59-1546-4b14-a37c-708684099597">3,053</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE4LTEtMS0xLTE4Njg5_3e36efef-a705-4096-8f2c-d6de1850c4a9">229</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE4LTMtMS0xLTE4Njg5_c16905d6-591e-4f44-bb3b-1b0f1d0471f6">342</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE4LTUtMS0xLTE4Njg5_5a865841-bc41-4564-8486-f3e09dd4606b">72</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE5LTEtMS0xLTE4Njg5_9af27702-9529-4b20-9ff0-3d5c8704fafc">3,914</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE5LTMtMS0xLTE4Njg5_adae619b-163c-4e63-b3cf-6793237cc4c4">3,519</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE5LTUtMS0xLTE4Njg5_1fb718f3-e95d-4b54-a6a4-22c2da1f50f6">1,474</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIwLTEtMS0xLTE4Njg5_6b134b28-802f-4239-acd7-4c8f0350adbd">615</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIwLTMtMS0xLTE4Njg5_f43e07f9-50ff-4454-b71f-a6f120ce8823">1,088</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIwLTUtMS0xLTE4Njg5_8baa7c36-231a-4d60-90f3-ee97680c09fb">2,542</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIxLTEtMS0xLTE4Njg5_31607b56-bc58-4026-91f3-6cd643cb185f">2,099</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIxLTMtMS0xLTE4Njg5_af7c4039-ab5b-4cc0-aff3-a7d9c9693e30">498</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIxLTUtMS0xLTE4Njg5_a47f0aa7-b569-4c1b-9cfd-ea45b7ba6e81">2,003</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIyLTEtMS0xLTE4Njg5_4848b4c7-e86d-46ba-85d7-5693bdb59d86">401</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIyLTMtMS0xLTE4Njg5_d0cc8e4e-b935-4cbf-ab12-01dba6f01095">2,097</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIyLTUtMS0xLTE4Njg5_79f14ce6-8af1-4513-8949-0b840816e209">1,418</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid income taxes/income taxes payable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIzLTEtMS0xLTE4Njg5_c3a2298d-fa2c-4746-b258-09afd7ba223c">2,810</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIzLTMtMS0xLTE4Njg5_d0369025-a303-4ff8-81fa-a5fd3e8b0366">452</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIzLTUtMS0xLTE4Njg5_282489d2-52e2-460f-a633-b4c790c2a2cc">782</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash provided by operating activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI0LTEtMS0xLTE4Njg5_54f09895-840d-4e0e-b55a-815199a56b67">47,744</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI0LTMtMS0xLTE4Njg5_9f664a2b-1fbe-428a-aeaf-c5c6d5a1dd23">49,142</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI0LTUtMS0xLTE4Njg5_24846aad-52c0-438b-abf8-1c0fbe0b7540">43,602</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Investing Activities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchases of property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI2LTEtMS0xLTE4Njg5_67c40f67-7843-45b6-8f18-c95bc427eb8b">920</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI2LTMtMS0xLTE4Njg5_8b006e47-7b4e-4ac6-b11f-f03f5f997ca3">3,336</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI2LTUtMS0xLTE4Njg5_fbc6a434-00be-4c8e-a516-295a74601ca7">1,760</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase of business, net of cash received</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI3LTEtMS0xLTE4Njg5_10c20392-82d0-45da-a4dc-e68bc526ba1e">59,634</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI3LTMtMS0xLTE4Njg5_5a39e641-b631-4b75-8d6c-7ea0a28d223e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI3LTUtMS0xLTE4Njg5_260d3943-bd8e-4251-9c2e-c748f17e0763">10,733</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Investment in software development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsToDevelopSoftware" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI4LTEtMS0xLTE4Njg5_22cce0c8-1c29-4a9d-9868-6e665fc2ff24">9,365</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsToDevelopSoftware" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI4LTMtMS0xLTE4Njg5_f1637c9a-a87e-41f5-b205-29f9204ffe35">3,328</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:PaymentsToDevelopSoftware" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI4LTUtMS0xLTE4Njg5_2533d8bf-efe8-48f2-a5ca-255582a27855">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash used in investing activities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI5LTEtMS0xLTE4Njg5_a7b953dd-4313-464b-839a-fd2433998b59">69,919</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI5LTMtMS0xLTE4Njg5_f612a599-ee6b-4f59-86c2-9edae7f519c1">6,664</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI5LTUtMS0xLTE4Njg5_81a0484f-e794-4a9d-af6f-a114df669474">12,493</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Financing Activities</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividends paid</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsOfDividends" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMxLTEtMS0xLTE4Njg5_b190b29d-da64-484d-ac68-06f124887ef4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsOfDividends" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMxLTMtMS0xLTE4Njg5_8959f2d4-b07c-4d7c-8b41-a311af019450">4,337</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:PaymentsOfDividends" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMxLTUtMS0xLTE4Njg5_7c718d4c-3786-48ba-8ec5-8a6ad903e868">5,729</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from long-term debt</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMyLTEtMS0xLTE4Njg5_0679968e-feaa-405d-a665-7964b8c94268">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMyLTMtMS0xLTE4Njg5_70679e94-847d-4ef1-9058-2be4c3aeaacc">64</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMyLTUtMS0xLTE4Njg5_05fecdff-1699-40a4-a71c-fe66a925e4c9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments of long-term debt principal</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMzLTEtMS0xLTE4Njg5_3cb22ee0-d0c4-4814-928f-611aaa9a8f0e">3,750</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMzLTMtMS0xLTE4Njg5_6fad1267-c249-4d4a-aa68-65e195e52d7d">4,069</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMzLTUtMS0xLTE4Njg5_6e352013-6ad9-437e-aefc-902725ff8d7a">13,609</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from revolving line of credit</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:ProceedsFromLinesOfCredit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM0LTEtMS0xLTE4Njg5_820b6c59-57a2-48fb-a6d4-2ca622e00335">61,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:ProceedsFromLinesOfCredit" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM0LTMtMS0xLTE4Njg5_265da645-6578-47e8-b446-f9fbcc6a0993">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:ProceedsFromLinesOfCredit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM0LTUtMS0xLTE4Njg5_decc7c2d-f165-4cac-8c72-a93dcd527309">11,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments of revolving line of credit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:RepaymentsOfLinesOfCredit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM1LTEtMS0xLTE4Njg5_648ccd82-18e4-449c-9076-28d51b3a6aa5">35,000</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:RepaymentsOfLinesOfCredit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM1LTMtMS0xLTE4Njg5_876c84fa-a816-4690-94d3-4f2574638b78">27,561</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:RepaymentsOfLinesOfCredit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM1LTUtMS0xLTE4Njg5_f6cd62ec-812a-4ec8-99e6-eefa617dc458">20,693</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments on capital lease</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:RepaymentsOfOtherDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM2LTEtMS0xLTE4Njg5_92cac8d6-66bf-45e4-820f-2996ee0cf77a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:RepaymentsOfOtherDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM2LTMtMS0xLTE4Njg5_059de56e-47d0-4ce1-82b4-88600b648f03">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:RepaymentsOfOtherDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM2LTUtMS0xLTE4Njg5_e2ae7843-71a1-46b9-87c5-7e249a6ed6cc">250</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments of contingent consideration</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="cpsi:PaymentsofContingentConsideration" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM3LTEtMS0xLTE4Njg5_4e614d36-a3ae-44e2-8679-8937856b16e8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="cpsi:PaymentsofContingentConsideration" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM3LTMtMS0xLTE4Njg5_18abc381-e1a5-48f7-8479-652bacc8b788">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="cpsi:PaymentsofContingentConsideration" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM3LTUtMS0xLTE4Njg5_a9534267-b9ae-42d5-801b-6ea6108fbe07">206</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from exercise of stock options</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM4LTEtMS0xLTE4Njg5_84e2de0e-4d02-4298-a11c-720a3172dd5f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM4LTMtMS0xLTE4Njg5_2ae39a2e-c803-4746-b9a3-089883353e03">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM4LTUtMS0xLTE4Njg5_c69ddecd-c3c3-4e5f-bd86-7dadb55a3b05">3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Treasury stock purchases</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM5LTEtMS0xLTE4Njg5_dab72f72-5234-4b4d-9436-7c6316255a84">1,315</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM5LTMtMS0xLTE4Njg5_de751f78-8907-400a-a362-c33ba3398c40">1,261</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM5LTUtMS0xLTE4Njg5_210fc01b-9b7b-450a-80a7-e53703ea77a6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash provided by (used in) financing activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQwLTEtMS0xLTE4Njg5_f77b7cff-98db-41f6-abd2-1c20f3335b77">20,935</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQwLTMtMS0xLTE4Njg5_4a10f57d-d8e9-4b29-b3e2-40b57cdc979d">37,164</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQwLTUtMS0xLTE4Njg5_71aed4ad-4d58-403d-97dd-ec8b383d1e37">29,484</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Increase (decrease) in cash and cash equivalents</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQxLTEtMS0xLTE4Njg5_ce366025-90a7-475d-a0fa-dfa8ea8acb5a">1,240</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQxLTMtMS0xLTE4Njg5_ca9f2d19-93a2-4536-a6c2-0e5a8d681449">5,314</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQxLTUtMS0xLTE4Njg5_a6adb991-0dfb-4d6f-ba3a-ed87dd4aa98e">1,625</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents at beginning of year</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQyLTEtMS0xLTE4Njg5_cb83c5dd-5a55-427d-a85d-656972cef50c">12,671</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iade483e7d2224faaba6643c762704fb8_I20191231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQyLTMtMS0xLTE4Njg5_65a39b7e-0562-489f-90fd-5a4fff0f5744">7,357</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba34e02a99eb4a77a9abd132b80fd41a_I20181231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQyLTUtMS0xLTE4Njg5_3c56562c-ba04-4b55-b9b6-4a008fe991e0">5,732</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents at end of year</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQzLTEtMS0xLTE4Njg5_8570b15f-8fe2-4031-80ba-3d4e4b1f8bdc">11,431</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQzLTMtMS0xLTE4Njg5_99027058-8a14-461c-a008-d9f045e3f524">12,671</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iade483e7d2224faaba6643c762704fb8_I20191231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQzLTUtMS0xLTE4Njg5_b51878e0-8d40-4ffe-a49b-76cdfcc8f7aa">7,357</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Continued on following page.</span></div><div style="margin-top:9pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COMPUTER PROGRAMS AND SYSTEMS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF CASH FLOWS - (Continued)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:59.047%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.695%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Year ended December&#160;31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Supplemental disclosure of cash flow information:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid for interest</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzMtMS0xLTEtMTg2ODk_0b738ddf-d6d4-4fe3-b297-4ed0f7aab79d">2,817</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzMtMy0xLTEtMTg2ODk_db1b1411-5e20-46b2-8291-92d9bad81411">3,245</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzMtNS0xLTEtMTg2ODk_67bf002b-3447-4111-a36d-0bf440fa5f8e">6,342</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid for income taxes, net of refund</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzQtMS0xLTEtMTg2ODk_48360e9c-2535-40de-93a1-66b487bd50c1">3,503</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzQtMy0xLTEtMTg2ODk_1b9523c9-6117-4568-8d8d-60ca80958473">2,235</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzQtNS0xLTEtMTg2ODk_71f8396f-bb25-4c07-8b63-605ac14fbc40">3,193</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Supplemental disclosure of non-cash flow information: </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-off of fully depreciated assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="cpsi:WriteOffOfFullyDepreciatedAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzYtMS0xLTEtMTg2ODk_60749783-baf8-4d66-b9d0-de7288783ace">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="cpsi:WriteOffOfFullyDepreciatedAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzYtMy0xLTEtMTg2ODk_57a760f5-9074-4b8f-9a93-eba6a96cfbfa">1,618</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="cpsi:WriteOffOfFullyDepreciatedAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzYtNS0xLTEtMTg2ODk_5b5c0ac3-187f-4d1d-9801-73afd77280b9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="margin-top:9pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_127"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COMPUTER PROGRAMS AND SYSTEMS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">DECEMBER&#160;31, 2021 </span></div><div id="i970301c9c50f467384dc14f962fc03da_130"></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">1. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:NatureOfOperations" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzAvZnJhZzplMGIzNDRmMGUzMmQ0N2RiOTllMjIxMDUzYzkwZjExOC90ZXh0cmVnaW9uOmUwYjM0NGYwZTMyZDQ3ZGI5OWUyMjEwNTNjOTBmMTE4XzcwMw_d71903c5-1320-45dc-9c48-8a94666c96ba" continuedAt="ib311aad311494cd69268283272f0529e" escape="true">NATURE OF OPERATIONS</ix:nonNumeric></span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ib311aad311494cd69268283272f0529e">Computer Programs and Systems, Inc. ("CPSI" or the "Company") is a healthcare information technology solutions provider which was formed and commenced operations in 1979. The Company provides, on an integrated basis, enterprise-wide clinical management, access management, patient financial management, health information management, strategic decision support, resource planning management and enterprise application integration solutions to healthcare organizations throughout the United States. Additionally, CPSI provides other information technology solutions, including business management services, remote hosting, networking technologies and other related services.</ix:continuation> </span></div><div id="i970301c9c50f467384dc14f962fc03da_133"></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2.&#160;&#160;&#160;&#160; <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE0_ebc8fc8a-555a-4d32-a202-ee0fc88d3e03" continuedAt="ic029b3818b524e4d8561bc9b4ac2e240" escape="true">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</ix:nonNumeric></span></div><ix:continuation id="ic029b3818b524e4d8561bc9b4ac2e240" continuedAt="i28bc8f4aa3ea494da7f1cabc10ff7be0"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ConsolidationPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzMy_b1ade1f4-89c4-46f6-8cf7-65eca267499d" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Principles of Consolidation</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements of CPSI include the accounts of TruBridge, LLC ("TruBridge"), Evident, LLC ("Evident"), iNetXperts, Corp. d/b/a Get Real Health ("Get Real Health"),  Healthland Holding Inc. ("HHI"), and TruCode, LLC ("TruCode"), all of which are wholly-owned subsidiaries of CPSI. The accounts of HHI include those of its wholly-owned subsidiaries, Healthland Inc. ("Healthland"), Rycan Technologies, Inc. ("Rycan"), and American HealthTech, Inc. ("AHT"). All significant intercompany balances and transactions have been eliminated.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE1_7ff78506-2565-4826-85a6-f9c10d62377c" escape="true"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash and Cash Equivalents</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents can include time deposits and certificates of deposit with original maturities of three months or less that are highly liquid and readily convertible to a known amount of cash. These assets are stated at cost, which approximates market value, due to their short duration or liquid nature.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:IntangibleAssetsFiniteLivedPolicy" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM1ODk_885309d2-f9a7-40bc-b573-8825361258f6" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Change in Useful Lives of Intangible Assets</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In accordance with its policy, the Company reviews the estimated useful lives of its intangible assets on an ongoing basis. This review indicated that the actual lives of certain developed technology were shorter than the estimated useful lives used for amortization purposes in the Company's financial statements. As a result, effective January 1, 2021, the Company changed its estimates of the useful lives of certain developed technology to better reflect the estimated periods during which these assets will remain in service. The remaining useful life of certain developed technology that was <ix:nonNumeric contextRef="ib0d4e466721e4851993fea764dd48e38_D20210101-20210101" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM2MTE_0c16b2c1-4441-4e13-8521-1d827341b76c">3.25</ix:nonNumeric> years at January 1, 2021 was reduced to <ix:nonNumeric contextRef="iad30fa0c200440a79279d9943444a481_D20210101-20210101" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM2NDk_ae2ba1b2-4d52-4b24-b19e-aeec626459a8">2</ix:nonNumeric> years, while the remaining useful life of certain developed technology that was <ix:nonNumeric contextRef="i81f41de3db3a4679b3676df5cff97128_D20210101-20210101" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM2NzI_ef429521-8460-456d-bed3-b69501816c88">4.25</ix:nonNumeric> years was reduced to <ix:nonNumeric contextRef="i2f293cd124844e6698cb14311e883625_D20210101-20210101" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM2OTA_e1cbbed0-3a12-4209-b2d9-e1b09dd29b70">3</ix:nonNumeric> years. The effect of this change was to increase 2021 amortization expense by approximately $<ix:nonFraction unitRef="usd" contextRef="if8ccc001a0c048f79fe279167835d4c6_D20210101-20211231" decimals="-5" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM2OTY_992cfe4b-401c-4bc1-bf02-459a56d4ebf7">1.0</ix:nonFraction>&#160;million and decrease 2021 net income and basic and diluted earnings per share by $<ix:nonFraction unitRef="usd" contextRef="if8ccc001a0c048f79fe279167835d4c6_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM3MTA_12da816c-6981-45fb-9f84-bf9c835041b0">0.8</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usdPerShare" contextRef="if8ccc001a0c048f79fe279167835d4c6_D20210101-20211231" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM3Mjc_bb2610c0-dd76-4d61-b720-19af4a2a4a46"><ix:nonFraction unitRef="usdPerShare" contextRef="if8ccc001a0c048f79fe279167835d4c6_D20210101-20211231" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM3Mjc_ce62ea32-27b7-419a-8aca-b929d2777ba0">0.06</ix:nonFraction></ix:nonFraction>, respectively.</span></div></ix:nonNumeric><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:PriorPeriodReclassificationAdjustmentDescription" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM1OTA_196ed95e-9750-447d-915d-2d4886c18590" continuedAt="i6ff27deb329147608910ac009ddec489" escape="true">Presentation</ix:nonNumeric></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i6ff27deb329147608910ac009ddec489">Effective January 1, 2021, costs associated with our internal legal, compliance, and contract administration activities, which were formerly included within the caption &#8220;Sales and marketing&#8221; on our consolidated statements of operations, have been recorded as a component of &#8220;General and administrative&#8221; expenses.  Amounts presented for the years ended December 31, 2020 and 2019, have been reclassified to conform to the current presentation.</ix:continuation>  <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM1OTE_5261ace4-fda7-43f1-aa5e-1a0e5ef40cf2" continuedAt="iab0937f75a614d40b460a7ead03ff7d4" escape="true">The following table provides the amount reclassified for the year ended December 31, 2020:</ix:nonNumeric></span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><ix:continuation id="iab0937f75a614d40b460a7ead03ff7d4" continuedAt="i45c03db1ac6b4f12ac58cdda9a0d2d38"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:59.047%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.695%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As previously reported</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Re-classifications</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As reclassified</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i724b2edce52c456a99de6eb5015156e0_D20200101-20201231" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzItMS0xLTEtMjQwOTU_b7b2b528-10ff-4243-955c-18254d42a4f7">24,185</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib8cc098f4999424aa09e32faba6b5fe9_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzItMy0xLTEtMjQwOTc_cc7d4ba4-d381-41b8-8916-3237c94e79ac">1,350</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzItNS0xLTEtMjQwOTk_d73b7dc1-a896-4c5b-8a58-7fb8e8399503">22,835</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i724b2edce52c456a99de6eb5015156e0_D20200101-20201231" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzMtMS0xLTEtMjQwOTU_f4edbe5b-e8a6-4773-ab08-b064e0ccdc0d">46,129</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib8cc098f4999424aa09e32faba6b5fe9_D20200101-20201231" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzMtMy0xLTEtMjQwOTc_8ced111e-0c7d-4a8d-8e11-593277e55678">1,350</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzMtNS0xLTEtMjQwOTk_3192444c-f056-4a60-816d-d7a2ee37c396">47,479</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i28bc8f4aa3ea494da7f1cabc10ff7be0" continuedAt="i77fc6f15f9244018b88c7299d5a21091"><ix:continuation id="i45c03db1ac6b4f12ac58cdda9a0d2d38"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the amount reclassified for the year ended December 31, 2019:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:59.047%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.695%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As previously reported</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Re-classifications</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As reclassified</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie295800c8fa7470aa18873c906a7f7e5_D20190101-20191231" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzItMS0xLTEtMjQxMDU_e4468063-09e6-4140-aead-1e022871540b">27,774</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i17c48da9fdbe4e2aa718d56d6f7fcf95_D20190101-20191231" decimals="-3" sign="-" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzItMy0xLTEtMjQxMDU_626b2aa8-f4e3-4709-b229-17229a08ed4d">1,279</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:SellingAndMarketingExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzItNS0xLTEtMjQxMDU_c85f7dca-a7b8-4694-99bd-c3cef645dc2c">26,495</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie295800c8fa7470aa18873c906a7f7e5_D20190101-20191231" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzMtMS0xLTEtMjQxMDU_a59b9bd8-bc5f-4883-8eeb-3974bd3f6769">43,921</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i17c48da9fdbe4e2aa718d56d6f7fcf95_D20190101-20191231" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzMtMy0xLTEtMjQxMDU_f8b81de1-64df-4e10-9698-67b357c42bf0">1,279</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:GeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzMtNS0xLTEtMjQxMDU_ec34e3bd-6aef-462b-8000-6602dbee85e0">45,200</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:continuation><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:CreditLossFinancialInstrumentPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzI0_d3f3f562-8ea3-48a4-84a0-1534fe1dba67" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts Receivable and Allowance for Credit Losses</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade accounts receivable are stated at the amount the Company expects to collect and do not bear interest. The Company establishes a general allowance for credit losses based on collections history. In the case of a bankruptcy filing or other similar event indicating the collectability of specific customer accounts is no longer probable, a specific allowance for credit losses may be recorded to reduce the related receivable to the amount expected to be recovered.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="cpsi:FinancingReceivablesPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE2_073cde02-23af-4a81-ba01-2ecc25294c93" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Financing Receivables</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financing receivables are comprised of short-term payment plans and sales-type leases. Short-term payment plans are stated at the amount the Company expects to collect and do not bear interest. Sales-type leases are initially recorded at the present value of the related minimum lease payments.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An allowance for credit losses has been established for our financing receivables based on the historical level of customer defaults under such arrangements. In the case of a bankruptcy filing or other similar event indicating the collectability of specific customer accounts is no longer probable, a specific reserve may be recorded to reduce the related receivable to the amount expected to be recovered. Customer payments are considered past due if a scheduled payment is not received within contractually agreed upon terms, with amounts reclassified to accounts receivable when they become due. As a result, we evaluate the credit quality of our financing receivables on an ongoing basis utilizing an aging of receivables and write-offs, customer collection experience, the customer&#8217;s financial condition and known risk characteristics impacting the respective customer base, as well as existing economic conditions, to determine if any further allowance is necessary. Amounts are specifically charged off once all available means of collection have been exhausted.</span></div></ix:nonNumeric><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:InventoryPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzI4_49511b92-8d1c-4839-b1a4-2399ff96a096" continuedAt="i5a675df1a9ab4d6e8a2c4dde5bc89761" escape="true">Inventories</ix:nonNumeric></span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i5a675df1a9ab4d6e8a2c4dde5bc89761">Inventories are stated at lower of cost or net realizable value using the average cost method. The Company&#8217;s inventories are comprised of computer equipment, forms and supplies.</ix:continuation> </span></div><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzMz_beb6d775-2bc6-4b1a-8d79-87d07ac5f413" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment is recorded at cost, less accumulated depreciation. Additions and improvements to property and equipment that materially increase productive capacity or extend the life of an asset are capitalized. Maintenance, repairs and minor renewals are expensed as incurred. Upon retirement or other disposition of such assets, the related costs and accumulated depreciation are removed from the respective accounts and any resulting gain or loss is included in the results of operations.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense is computed using the straight-line method over the asset&#8217;s useful life, which is generally <ix:nonNumeric contextRef="i5d37869fd9b247729baa4e447474047b_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzM5NDQ_1482bd93-a659-4dbf-9270-a4d88adb24d9"><ix:nonNumeric contextRef="i4a38d9a2f80e47618c1cfa72f305d4a5_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzM5NDQ_853747d4-3c1b-4738-a032-d84365ff05c4">5</ix:nonNumeric></ix:nonNumeric> years for computer equipment, furniture, and fixtures and <ix:nonNumeric contextRef="i035c17643efe4d4db4d3f8214f0473eb_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzM5OTk_ad7ca298-4987-4608-92fc-3826ceb268ae">30</ix:nonNumeric> years for buildings. Leasehold improvements are depreciated over the shorter of the asset&#8217;s useful life or the remaining lease term. The Company reviews for the possible impairment of long-lived assets whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. Depreciation expense is reported in the consolidated statements of operations as a component of costs of sales and operating expenses.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:BusinessCombinationsPolicy" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzM0_da83ea03-202a-4554-b925-926f15ba18c5" continuedAt="ie7a9d70af0654c7a96e07d83712418d3" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Combinations</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We apply business combination accounting when we acquire a business. Business combinations are accounted for at fair value. The associated acquisition costs are expensed as incurred and recorded in general and administrative expenses; restructuring costs associated with a business combination are expenses; contingent consideration is measured at fair value at the acquisition date, with changes in fair value after the acquisition date affecting earnings; changes in deferred tax asset valuation allowances and income tax uncertainties after the measurement period affect income tax expense; and goodwill is determined as the excess of the fair value of the consideration conveyed in the acquisition over the fair value of the net </span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i77fc6f15f9244018b88c7299d5a21091" continuedAt="i7b9a6ec69419458cb75e2ac846761b55"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ie7a9d70af0654c7a96e07d83712418d3">assets acquired. The accounting for business combinations requires estimates and judgments as to expectations for future cash flows of the acquired business, and the allocation of those cash flows to identifiable intangible assets, in determining the estimated fair value for assets and liabilities acquired. The fair values assigned to tangible and intangible assets acquired and liabilities assumed, are based on management's estimates and assumptions, including valuations that utilize customary valuation procedures and techniques. If the actual results differ from the estimates and judgments used in these estimates, the amounts recorded in the financial statements could result in a possible impairment of the intangible assets and goodwill, or require acceleration of the amortization expense of finite-lived intangible assets. The results of the acquired businesses' operations are included in the Consolidated Statements of Operations of the combined entity beginning on the date of the acquisition. We have applied this acquisition method to the transactions described in Note 3 - Business Combination.</ix:continuation></span></div><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzI5_700a4360-fffe-4d7a-a6a1-1c3a89988ffa" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is recorded as the difference, if any, between the aggregate consideration paid for an acquisition and the fair value of the identifiable net tangible and intangible assets acquired. Goodwill is not amortized but is evaluated for impairment annually or more frequently if indicators of impairment are present or changes in circumstances suggest that impairment may exist. We test annually for impairment as of October 1. </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of our annual goodwill impairment test, we first assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. If we conclude that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, we conduct a quantitative goodwill impairment assessment, which compares the fair value of the reporting unit with its carrying amount, including goodwill. If the carrying amount of the reporting unit exceeds its fair value, an impairment charge is recognized for the amount by which the carrying amount exceeds the total amount of goodwill allocated to that reporting unit. If the fair value of the reporting unit exceeds its carrying amount, the goodwill of the reporting unit is not considered to be impaired. We determined there was <ix:nonFraction unitRef="usd" contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzc5MDg_06ba43e6-8351-4983-afd2-da87e633fd83"><ix:nonFraction unitRef="usd" contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzc5MDg_8b1fa0dc-0629-4fe9-addf-0914e484288d"><ix:nonFraction unitRef="usd" contextRef="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzc5MDg_a28cb43a-e547-4c30-bf64-32a8e69c32a0">no</ix:nonFraction></ix:nonFraction></ix:nonFraction> impairment to goodwill for the years ended December 31, 2021, 2020 and 2019.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE3_a72ec728-6ea3-4830-8725-0bc1c01769b2" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Purchased Intangible Assets</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Purchased intangible assets are acquired in connection with a business acquisition, and are amortized over their estimated useful lives based on the pattern of economic benefit expected from each asset. We concluded for certain purchased intangible assets that the pattern of economic benefit approximated the straight-line method, and therefore, the use of the straight-line method was appropriate, as the majority of the cash flows will be recognized ratably over the estimated useful lives and there is no degradation of the cash flows over time. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We assess the recoverability of intangible assets whenever events or changes in circumstances indicate that the carrying amount of the asset may not be recoverable. The carrying amount is not recoverable if it exceeds the undiscounted sum of cash flows expected to result from the use and eventual disposition of the asset. If the asset is not recoverable, the impairment loss is measured by the excess of the asset's carrying amount over its fair value. We determined there was <ix:nonFraction unitRef="usd" contextRef="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231" decimals="INF" name="us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzkwNDY_26e291b5-6d93-41ac-b388-9786d7227967"><ix:nonFraction unitRef="usd" contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231" decimals="INF" name="us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzkwNDY_2c2266bd-4671-423b-8e7c-50a50a063a72"><ix:nonFraction unitRef="usd" contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231" decimals="INF" name="us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzkwNDY_f6410c1a-ab64-438a-9e7e-e6827ed2e917">no</ix:nonFraction></ix:nonFraction></ix:nonFraction> impairment to purchased intangible assets as of December 31, 2021, 2020 or 2019.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzMw_ba821af9-7d62-4ef0-abd0-4ea784e4711c" continuedAt="ibc66f1ef930d4e2d816e98d9e12c17d4" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized upon transfer of control of promised products or services to clients in an amount that reflects the consideration we expect to receive in exchange for those products and services. We enter into contracts that can include various combinations of products and services, which are generally distinct and accounted for as separate performance obligations. The Company employs the 5-step revenue recognition model under ASC 606, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue from Contracts with Customers,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> to: (1) identify the contract with the client, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when (or as) the entity satisfies a performance obligation.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized net of shipping charges and any taxes collected from clients, which are subsequently remitted to governmental authorities. </span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">System Sales and Support</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into contractual obligations to sell perpetual software licenses, installation, conversion, and related training services, software application support, hardware, and hardware maintenance services to acute care community hospitals and post-acute providers. </span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">72</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i7b9a6ec69419458cb75e2ac846761b55" continuedAt="ife0b202a15bd44a4a85f635ede5f5220"><ix:continuation id="ibc66f1ef930d4e2d816e98d9e12c17d4" continuedAt="i38f77f1461c147dba250bded325042c9"><div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:14.5pt">Non-recurring Revenues</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Perpetual software licenses and installation, conversion, and related training services are not considered separate and distinct performance obligations due to the proprietary nature of our software and are, therefore, accounted for as a single performance obligation on a module-by-module basis. Revenue is recognized as each module's implementation is completed based on the module's stand-alone selling price ("SSP"), net of discounts. We determine each module's SSP using the residual method. Fees for licenses and installation, conversion, and related training services are typically due in three installments: (1) at placement of order, (2) upon installation of software and commencement of training, and (3) upon satisfactory completion of monthly accounting cycle or end-of-month operation by application and as applicable for each application. Often, short-term and/or long-term financing arrangements are provided for software implementations; refer to Note 11 - Financing Receivables for further information. Electronic health records ("EHR") implementations include a system warranty that terminates thirty days from the software go-live date, the date which the client begins using the system in a live environment.</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Hardware revenue is recognized separately from software licenses at the point in time it is delivered to the client. The SSP of hardware is cost plus a reasonable margin and revenue is recognized on a gross basis. Payment is generally due upon delivery of the hardware to the client. Standard manufacturer warranties apply to hardware.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:14.5pt">Recurring Revenues</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Software application support and hardware maintenance services sold with software licenses and hardware are separate and distinct performance obligations. Revenue for support and maintenance services is recognized based on SSP, which is the renewal price, ratably over the life of the contract, which is generally <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEyMjU1_9cf6cf15-0f35-4978-9dd4-6c7c8e333172">three</span> to <ix:nonNumeric contextRef="i7eb4e2da22d347169aff5fce18c7c88a_D20210101-20211231" name="cpsi:RevenuePerformanceObligationDescriptionOfTiming1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEyMjYx_6fe9b9bf-a683-4c8e-9c9d-301c1e5691f2">five years</ix:nonNumeric>. Payment is due monthly for support and maintenance services provided.</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Subscriptions to third-party content revenue is recognized as a separate performance obligation ratably over the subscription term based on SSP, which is cost plus a reasonable margin, and revenue is recognized on a gross basis. Payment is due monthly for subscriptions to third party content.</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Software as a Service ("SaaS") arrangements for EHR software and related conversion and training services are considered a single performance obligation. Revenue is recognized on a monthly basis as the SaaS service is provided to the client over the contract term. Payment is due monthly for SaaS services provided.</span></div><div style="margin-top:9pt;padding-left:99pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 18 - Segment Reporting for further information, including revenue by client base (acute care or post-acute care) bifurcated by recurring and non-recurring revenue.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">TruBridge</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">TruBridge provides an array of business processing services ("BPS") consisting of accounts receivable &#160;&#160;&#160;&#160;management, private pay services, insurance services, medical coding, electronic billing, statement processing, payroll processing, and contract management. Fees are recognized over the period of the client contractual relationship as the services are performed based on the SSP, net of discounts. SSP for TruBridge BPS services is determined based on observable stand-alone selling prices. Fees for many of these services are invoiced, and revenue recognized accordingly, based on the volume of transactions or a percentage of client accounts receivable collections. Payment is due monthly for BPS with certain amounts varying based on utilization and/or volumes.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">TruBridge also provides professional IT services. Revenue from professional IT services is recognized as the services are performed based on SSP, which is determined by observable stand-alone selling prices. Payment is due monthly as services are performed. </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lastly, TruBridge also provides certain software solutions and related support under SaaS arrangements and time-based software licenses.  Revenue from SaaS arrangements is recognized in a manner consistent with SaaS arrangements for EHR software, as discussed above.  Revenue from time-based software licenses is recognized upon delivery to the client (&#8220;point in time&#8221;) and revenue from non-license components (i.e., support) is </span></div></ix:continuation></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">73</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="ife0b202a15bd44a4a85f635ede5f5220" continuedAt="idcbf8837b19e4d07868d7facece6a371"><ix:continuation id="i38f77f1461c147dba250bded325042c9" continuedAt="i4426721198cb494e9d5a1b1c0e48bad3"><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">recognized ratably over the respective contract term (&#8220;over time&#8221;). SSP for time-based licenses is determined using the residual approach, while the non-license component is based on cost plus reasonable margin.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Deferred Revenue</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue represents amounts invoiced to clients for which the services under contract have not been completed and revenue has not been recognized, including annual renewals of certain software subscriptions and customer deposits for implementations to be performed at a later date. Revenue is recognized ratably over the life of the software subscriptions as services are provided and at the point-in-time when implementations have been completed.</span></div><div style="margin-top:9pt;padding-left:63pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzMx_9d334551-bc49-4f7b-9845-2c0d50017e75" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table details deferred revenue for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.304%"><tr><td style="width:1.0%"></td><td style="width:67.608%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.303%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.283%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.306%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For years ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzItMS0xLTEtMTg2ODk_8672515a-5687-4600-ab05-aa5e9ae1d768">8,130</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iade483e7d2224faaba6643c762704fb8_I20191231" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzItMy0xLTEtMTg2ODk_5ebcd819-cf80-4a0e-ae7d-5ad154e488da">8,628</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue recorded</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="cpsi:ContractWithCustomerLiabilityPeriodIncreaseDecrease" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzMtMS0xLTEtMTg2ODk_97f9320f-7b30-4dc4-8b26-83e43f39abee">23,393</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="cpsi:ContractWithCustomerLiabilityPeriodIncreaseDecrease" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzMtMy0xLTEtMTg2ODk_836dcd3b-ccc7-4f2d-b1c4-02a9c7484971">18,507</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue acquired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzQtMS0xLTEtMTg2ODk_b5f0ef84-a202-4e90-b928-682c3cd40d96">1,300</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzQtMy0xLTEtMTg2ODk_5004b2d6-f486-4b16-8177-50868cd74ffe">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less deferred revenue recognized as revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="cpsi:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzUtMS0xLTEtMTg2ODk_bbdbd7cb-c1c3-4eac-a4cf-f7a75456a386">21,294</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="cpsi:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzUtMy0xLTEtMTg2ODk_ec584c18-c61b-41dd-9eae-10dfd5e0a17a">19,005</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzYtMS0xLTEtMTg2ODk_1d64f9d1-ef37-472b-a888-5b4daa043ea2">11,529</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzYtMy0xLTEtMTg2ODk_8f9379c9-941c-4f9c-8b92-3e636131354c">8,130</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The deferred revenue recorded for years ended December 31, 2021 and 2020 is comprised primarily of the annual renewals of certain software subscriptions billed during the first quarter of each year and deposits collected for future EHR installations. The deferred revenue acquired resulted from the May 2021 acquisition of TruCode. The deferred revenue recognized as revenue during the years ended December 31, 2021 and 2020 is comprised primarily of the periodic recognition of annual renewals that were deferred until earned and deposits for future EHR installations that were deferred until earned.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Costs to Obtain and Fulfill a Contract with a Customer</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs to obtain a contract include the commission costs related to SaaS arrangements, which are capitalized and amortized ratably over the expected life of the customer. As a practical expedient, we generally recognize the incremental costs of obtaining a contract as an expense when incurred if the amortization period of the asset would have been one year or less, with the exception of commissions generated from TruBridge sales. TruBridge commissions, which are paid up to twelve months in advance, are capitalized and amortized over the prepayment period. Costs to obtain a contract are expensed within sales and marketing expenses in the accompanying consolidated statements of operations.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract fulfillment costs related to the implementation of SaaS arrangements are capitalized and amortized ratably over the expected life of the customer. Costs to fulfill contracts consist of the payroll costs for the implementation of SaaS arrangements, including time for training, conversion, and installation that is necessary for the software to be utilized. Contract fulfillment costs are expensed within </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the caption "System sales and support - Cost of sales" in the accompanying consolidated statements of operations.</span></div><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:CapitalizedContractCostTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE4_ff972ba3-5397-4a69-8f3e-c6b1ba607ae8" escape="true"><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs to obtain and fulfill contracts related to SaaS arrangements are included within the "Prepaid expenses and other" and "Other assets, net of current portion" line items on our consolidated balance sheets.  </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table details costs to obtain and fulfill contracts with customers for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"><tr><td style="width:1.0%"></td><td style="width:70.187%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.256%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.955%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.102%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For years ended December 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CapitalizedContractCostNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzItMS0xLTEtMTg2ODk_366fbd48-9766-47c4-84b3-dff30e5a2c08">5,992</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iade483e7d2224faaba6643c762704fb8_I20191231" decimals="-3" name="us-gaap:CapitalizedContractCostNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzItMy0xLTEtMTg2ODk_7f273512-1fd3-46fe-bb6a-1c6b76d11899">4,439</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs to obtain and fulfill contracts capitalized</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="cpsi:CostsToObtainAndFulfillContractsCapitalized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzMtMS0xLTEtMTg2ODk_b97ceb4e-e616-4205-a875-b05fe3cad259">7,256</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="cpsi:CostsToObtainAndFulfillContractsCapitalized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzMtMy0xLTEtMTg2ODk_a36f0ab7-5c1f-43b2-be68-73998255db00">6,974</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less costs to obtain and fulfill contracts recognized as expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:CapitalizedContractCostAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzQtMS0xLTEtMTg2ODk_1d1553e5-6c46-4848-b7a0-6d4103659345">5,936</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:CapitalizedContractCostAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzQtMy0xLTEtMTg2ODk_173df07e-ef1f-4fbb-9e7a-ff2d058989eb">5,421</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:CapitalizedContractCostNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzUtMS0xLTEtMTg2ODk_c25c7108-0db0-4289-9e89-acf05d6041ee">7,312</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CapitalizedContractCostNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzUtMy0xLTEtMTg2ODk_ef3893cb-034e-4d90-8750-fdbdaca1aabe">5,992</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric></ix:continuation></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="idcbf8837b19e4d07868d7facece6a371" continuedAt="i1a654553cd1440b5bbe0adf3cb5e0cae"><ix:continuation id="i4426721198cb494e9d5a1b1c0e48bad3"><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Significant Judgments</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contracts with clients often include promises to transfer multiple products and services. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Judgment is required to determine SSP for each distinct performance obligation. We use observable SSP for items that are sold on a stand-alone basis to similarly situated clients at unit prices within a sufficiently narrow range. For performance obligations that are sold to different clients for a broad range of amounts, or for performance obligations that are never sold on a stand-alone basis, the residual method in determining SSP is applied and requires significant judgment.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Allocating the transaction price, including estimating SSP of promised goods and services for contracts with discounts or variable consideration, may require significant judgment. Due to the short time frame of the implementation cycle, discount allocation is immaterial as revenue is recognized net of discounts within the same reporting period. In scenarios where the Company enters into a contract that includes both a software license and BPS or other services that are charged based on volume of services rendered, the Company allocates variable amounts entirely to a distinct good or service. The terms of the variable payment relate specifically to the entity&#8217;s efforts to satisfy that performance obligation. </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant judgment is required in determining the expected life of a customer, which is the amortization period for costs to obtain and fulfill a contract that have been capitalized. The Company determined that the expected life of the customer is not materially different from the initial contract term based on the characteristics of the SaaS offering.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Remaining Performance Obligations</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Disclosures regarding remaining performance obligations are not considered material as the overwhelming majority of the Company's remaining performance obligations either (a) are related to contracts with an expected duration of one year or less, or (b) exhibit revenue recognition in the amount to which the Company has the right to invoice.</span></div></ix:continuation><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">       <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:CompensationRelatedCostsPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE5_c9476cee-2c32-46d4-8008-3ccb5a1787c7" continuedAt="i5b032aa2d05a4378891549187534350c" escape="true">Stock-Based Compensation</ix:nonNumeric></span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><ix:continuation id="i5b032aa2d05a4378891549187534350c"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for stock-based compensation according to the provisions of ASC 718, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Compensation &#8211; Stock Compensation</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which establishes accounting for stock-based awards exchanged for employee services. Accordingly, stock-based compensation cost is measured at the grant date based on the fair value of the award, and is recognized as an expense over the employee&#8217;s or non-employee director&#8217;s requisite service period.</span></ix:continuation></div><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="cpsi:InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzEz_a6e20cab-ca56-42d4-bba6-216831e3acd4" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Software Development Costs</span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our software solutions are offered to our clients through both traditional perpetual licenses as well as SaaS delivery models.  Development costs associated with the certain solutions offered exclusively through a SaaS model are accounted for in accordance with ASC 350-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal Use Software</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.  All other client solution development costs are accounted for in accordance with ASC 985-20, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Costs of Software to be Sold, Leased, or Marketed</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under ASC 985-20, software development costs incurred in creating computer software solutions are expensed until technological feasibility has been established upon completion of a detailed program design or, in the absence of a detailed program design, upon completion of a product design and working model of the software product.  Thereafter, all software development costs incurred through the software&#8217;s general release date are capitalized and subsequently recorded at the lower of amortized cost or net realizable value.  Capitalized costs are amortized based on the current and expected future revenue for each software solution with minimum annual amortization equal to the straight-line amortization over the estimated economic life of the solution, which is estimated to be <ix:nonNumeric contextRef="id64e1dd8939e448e88046c4c36f6f831_D20210101-20211231" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM3NDU_1bd58bc3-c404-41fa-bdf4-f5db327edf06">five years</ix:nonNumeric>.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under ASC 350-40, software development costs related to preliminary project activities and post-implementation and maintenance activities are expensed as incurred.  We capitalize direct costs related to application development activities that are probable to result in additional functionality.  Capitalized costs are amortized on a straight-line basis over <ix:nonNumeric contextRef="id64e1dd8939e448e88046c4c36f6f831_D20210101-20211231" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM3NjE_1bd58bc3-c404-41fa-bdf4-f5db327edf06">five years</ix:nonNumeric>. We test for impairment whenever events or changes in circumstances that could impact recoverability occur.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note 5 - Software Development for further information relating to our software development costs.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">75</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i1a654553cd1440b5bbe0adf3cb5e0cae"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:IncomeTaxPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzIx_8c454551-974a-448d-9bb9-f0675ba7ff87" continuedAt="ief0ec8a0736f4b37a097adb0ef43f3ba" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for income taxes in accordance with ASC 740, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accounting for Income Taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Under this topic, deferred income taxes are determined utilizing the asset and liability approach. This method gives consideration to the future tax consequences associated with differences between financial accounting and tax bases of assets and liabilities. The effect on the deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date. We recognize interest and penalties accrued related to unrecognized tax benefits in the consolidated statements of operations as a component of the provision for income taxes.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also make a provision for uncertain income tax positions in accordance with the ASC 740, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accounting for Income Taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. These provisions require that a tax position taken in a tax return be recognized in the financial statements when it is more likely than not (i.e., a likelihood of more than fifty percent) that the position would be sustained upon examination by tax authorities. A recognized tax position is then measured at the largest amount of benefit that is greater than fifty percent likely of being realized upon settlement. The topic also requires that changes in judgment that result in subsequent recognition, derecognition, or change in a measurement date of a tax position taken in a prior annual period (including any related interest and penalties) be recognized as a discrete item in the interim period in which the change occurs.</span></div></ix:nonNumeric><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ief0ec8a0736f4b37a097adb0ef43f3ba">Valuation allowances are recorded when, in the opinion of management, it is more likely than not that all or a portion of the deferred tax assets will not be realized. These valuation allowances can be impacted by changes in tax laws, changes to statutory tax rates, and future taxable income, and are based on our judgment, estimates, and assumptions.</ix:continuation>  </span></div><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:UseOfEstimates" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzI2_4ee1e16e-bbb9-495f-85d2-fc40a134059b" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with U.S. GAAP requires that management make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosures of contingent assets and liabilities at the date of the financial statements, and the reported revenues and expenses during the reporting periods. Actual results could differ from those estimates.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:SegmentReportingPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzIz_7682f53e-ee0e-4488-8d52-facafc34f8f5" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Reporting</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating segments are identified as components of an enterprise about which separate discrete financial information is evaluated by the chief operating decision maker, which we refer to as the CODM, or decision-making group in assessing performance and making decisions regarding resource allocation. The Company has prepared operating segment information based on the manner in which management disaggregates the Company's operations for making internal operating decisions. For more information, see Note 18 - Segment Reporting.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzI3_e014ee38-7bfc-4145-9eaf-96be00368c94" escape="true"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">New Accounting Standards Adopted in 2021</span></div><div style="margin-top:9pt;padding-left:19pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no new accounting standards required to be adopted in 2021 that would have a material impact on our consolidated financial statements. </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">New Accounting Standards Yet to be Adopted</span></div><div style="padding-left:19pt"><span><br/></span></div><div style="padding-left:19pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not believe that any recently issued but not yet effective accounting standards, if adopted, would have a material impact on our consolidated financial statements.</span></div></ix:nonNumeric></ix:continuation><div id="i970301c9c50f467384dc14f962fc03da_139"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">3. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzQxMDA_33188d90-ac4b-43e4-b026-954de5e9f9b5" continuedAt="iee77cb421a29402d8adf4e47213e599a" escape="true">BUSINESS COMBINATION</ix:nonNumeric></span></div><ix:continuation id="iee77cb421a29402d8adf4e47213e599a" continuedAt="i7d2d6a2cda94466aa7a69fda6218a10d"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Acquisition of TruCode</span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 12, 2021, we acquired all of the assets and liabilities of TruCode LLC, a Virginia limited liability company ("TruCode"), pursuant to a Stock Purchase Agreement dated May 12, 2021. Based in Alpharetta, Georgia, TruCode provides configurable, knowledge-based software that gives coders, clinical documentation improvement specialists and auditors the flexibility to code according to their knowledge, preferences and experience. The cloud-based medical coding solution is bundled with the TruBridge solutions and services to enhance revenue cycle performance for healthcare organizations of all sizes. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Consideration for the acquisition included cash (net of cash of the acquired entity) of $<ix:nonFraction unitRef="usd" contextRef="i3323119e0c3647b980f3599fd5055bd0_D20210512-20210512" decimals="-5" name="us-gaap:BusinessCombinationConsiderationTransferred1" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzU1NQ_8f14f8f7-737e-4d21-a902-cfb3009cbebc">59.6</ix:nonFraction>&#160;million (inclusive of seller's transaction expenses), plus a contingent earnout payment of up to $<ix:nonFraction unitRef="usd" contextRef="i3323119e0c3647b980f3599fd5055bd0_D20210512-20210512" decimals="-5" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzY0Nw_d1284152-b149-4243-99d9-ce008a395a77">15.0</ix:nonFraction>&#160;million tied to TruCode's earnings before interest, tax, depreciation, and amortization ("EBITDA") (subject to certain pro-forma adjustments) for the twelve- month period concluding on the anniversary date of the acquisition.  During 2021, we incurred approximately $<ix:nonFraction unitRef="usd" contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231" decimals="-5" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzEwNTQ_2723b43f-689e-4020-b0cb-31230ababb39">0.9</ix:nonFraction>&#160;million of pre-tax </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i7d2d6a2cda94466aa7a69fda6218a10d" continuedAt="i0ddb71de7d514d18b221bb8e30caceb9"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">acquisition costs in connection with the acquisition of TruCode. Acquisition costs are included in general and administrative expenses in our consolidated statements of operations.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our acquisition of TruCode was treated as a purchase in accordance with ASC 805, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Business Combinations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which requires allocation of the purchase price to the estimated fair values of assets and liabilities acquired in the transaction. Our allocation of the purchase price was based on management's judgment after evaluating several factors, including a preliminary valuation assessment. Final settlement is pending related to acquired working capital and certain amounts due to third parties which remain in ongoing negotiations.</span></div><div style="padding-left:18pt"><span><br/></span></div><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzQxMDE_5e1d2491-540e-4edc-80a5-05ba0ca3eee8" continuedAt="i7cbe4fe2497c465285ae7728b24b441a" escape="true"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The allocation of the purchase price paid for TruCode was as follows:</span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"></td><td style="width:85.474%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.326%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase Price Allocation</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzEtMS0xLTEtMTg2ODk_073fb2f4-6418-4ed6-80c4-742d7f32f9a6">4,249</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzItMS0xLTEtMTg2ODk_82872b56-0f18-4e34-941a-87ee97d3aa5b">924</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzQtMS0xLTEtMTg2ODk_cf5a848f-d799-44ae-81c9-525ca912b7dd">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzctMS0xLTEtMTg2ODk_fe687d71-7e12-444a-bef9-db2246b3422d">37,300</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzgtMS0xLTEtMTg2ODk_fb4dfc60-b539-40e2-bcaa-5ab9671deb2e">27,497</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable and accrued liabilities</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzktMS0xLTEtMTg2ODk_894ecad8-a452-4d00-a86c-41569846a0b2">2,289</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzEyLTEtMS0xLTE4Njg5_1133350c-e7e0-4486-90e9-8a1483f89e7e">2,500</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512" decimals="-3" name="cpsi:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzEzLTEtMS0xLTE4Njg5_6a6fed7e-651f-4a2e-aef3-e21131c27dff">1,300</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzE0LTEtMS0xLTE4Njg5_9b0ec359-8fbe-4de6-bed3-4d26841583cd">63,883</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:6pt;padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The intangible assets in the table above are being amortized on a straight-line basis over their estimated useful lives. The amortization is included in amortization of acquisition-related intangibles in our consolidated statements of operations. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value measurements of tangible and intangible assets and liabilities were based on significant inputs not observable in the market and thus represent Level 3 measurements within the fair value measurement hierarchy (see Note 17 - Fair Value). Level 3 inputs included, among others, discount rates that we estimated would be used by a market participant in valuing these assets and liabilities, projections of revenues and cash flows, client attrition rates and market comparables.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our consolidated statement of operations for the year ended December 31, 2021 includes revenues of approximately $<ix:nonFraction unitRef="usd" contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231" decimals="-5" name="us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzI1OTI_339e4ed4-b6a8-4fad-bcc4-0cdb0e8b051d">7.1</ix:nonFraction>&#160;million, and pre-tax income of approximately $<ix:nonFraction unitRef="usd" contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231" decimals="-5" name="us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzI2MzA_e29310ce-7c2c-4458-bd5e-4b84dd96ea76">3.2</ix:nonFraction>&#160;million, attributed to the acquired business since the May 12, 2021 acquisition date.</span></div><div style="padding-left:18pt"><span><br/></span></div><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:BusinessAcquisitionProFormaInformationTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzQxMDI_1d4be611-c4d4-4d03-8b22-bf89f0ec4d93" escape="true"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following unaudited pro forma revenue, net income and earnings per share amounts for the years ended December 31, 2021 and 2020 give effect to the TruCode acquisition as if it had been completed on January 1, 2020. The pro forma financial information is presented for illustrative purposes only and is not necessarily indicative of what the operating results actually would have been during the periods presented had the TruCode acquisition been completed during the periods presented. In addition, the unaudited pro forma financial information does not purport to project future operating results. The pro forma information does not fully reflect: (1) any anticipated synergies (or costs to achieve synergies) or (2) the impact of non-recurring items directly related to the TruCode acquisition. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"></td><td style="width:72.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.778%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.557%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.629%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands, except per share data, unaudited)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pro forma revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231" decimals="-3" name="us-gaap:BusinessAcquisitionsProFormaRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzItMS0xLTEtMTg2ODk_b63e62bb-154a-4f85-bf79-31d242ea508d">286,651</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaa1b4c6fdc7a4b9082bc0309d0fcb959_D20200101-20201231" decimals="-3" name="us-gaap:BusinessAcquisitionsProFormaRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzItMy0xLTEtMTg2ODk_c576040b-23da-4d1d-ae7b-b840566b83b8">275,641</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pro forma net income </span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231" decimals="-3" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzMtMS0xLTEtMTg2ODk_4581addf-3396-41f4-8d2a-bd78b2f0e294">20,635</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaa1b4c6fdc7a4b9082bc0309d0fcb959_D20200101-20201231" decimals="-3" name="us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzMtMy0xLTEtMTg2ODk_d38cdc72-e451-40bf-aa04-5d278d068c5d">14,651</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pro forma diluted earnings per share</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231" decimals="2" name="us-gaap:BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzQtMS0xLTEtMTg2ODk_7906ec43-46aa-4dad-98bd-0234a8c4c53a">1.41</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="iaa1b4c6fdc7a4b9082bc0309d0fcb959_D20200101-20201231" decimals="2" name="us-gaap:BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzQtMy0xLTEtMTg2ODk_7f2c107e-48df-4cec-a568-992d09d9751d">1.01</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:6pt;padding-left:18pt"><span><br/></span></div><div style="margin-bottom:6pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pro forma net income was calculated by adjusting the results for the applicable period to reflect (i) the additional amortization that would have been charged assuming the fair value adjustments to intangible assets had been applied on </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i0ddb71de7d514d18b221bb8e30caceb9"><div style="margin-bottom:6pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">January 1, 2020 and (ii) adjustments to amortized revenue during fiscal 2021 and 2020 as a result of the acquisition date valuation of assumed deferred revenue. The pro forma results for each period also reflect the pro forma adjustment to interest expense as a result of utilizing revolver debt to finance the acquisition.</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Acquisition of Get Real Health</span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 3, 2019, we acquired all of the assets and liabilities of iNetXperts, Corp., a Maryland corporation doing business as Get Real Health (&#8220;Get Real Health&#8221;), pursuant to a Stock Purchase Agreement dated April 23, 2019, as amended on May 2, 2019. Based in Rockville, Maryland, Get Real Health delivers technology solutions to improve patient outcomes and engagement strategies with care providers. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Consideration for the acquisition included cash (net of cash of the acquired entity) of $<ix:nonFraction unitRef="usd" contextRef="i58aa93d446c1469081e8729fb933cc4d_D20190503-20190503" decimals="-5" name="us-gaap:BusinessCombinationConsiderationTransferred1" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzEwOTk1MTE2NDI1NzQ_c934e5c1-f5de-42b0-8ddd-390cae81bd93">10.8</ix:nonFraction>&#160;million (inclusive of seller's transaction expenses), plus a contingent earnout payment of up to $<ix:nonFraction unitRef="usd" contextRef="i58aa93d446c1469081e8729fb933cc4d_D20190503-20190503" decimals="-5" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzEwOTk1MTE2NDI1NTk_5bbe11fe-9cc7-4524-ab0c-7bc30fad4ea1">14.0</ix:nonFraction>&#160;million tied to Get Real Health's earnings before interest, tax, depreciation, and amortization ("EBITDA") (subject to certain pro-forma adjustments) for 2019. As of December 31, 2019, the $<ix:nonFraction unitRef="usd" contextRef="i1c0f7691c67249928dca97d88dedf9bb_D20190101-20191231" decimals="-5" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzEwOTk1MTE2NDI1ODk_e36151d2-7210-41af-a8d5-06db85222bfd">5.0</ix:nonFraction>&#160;million contingent consideration estimated in determining the acquisition purchase price was fully reversed as Get Real Health's earnings did not achieve the required level for earnout payment. During 2019, we incurred approximately $<ix:nonFraction unitRef="usd" contextRef="i1c0f7691c67249928dca97d88dedf9bb_D20190101-20191231" decimals="-5" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzEwOTk1MTE2NDI2MDM_b82aa3e3-aab7-48c1-ac6b-f34b1e62e647">0.6</ix:nonFraction>&#160;million of pre-tax acquisition costs in connection with the acquisition of Get Real Health. Acquisition costs are included in general and administrative expenses in our consolidated statements of operations. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our acquisition of Get Real Health was treated as a purchase in accordance with ASC 805, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Business Combinations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which requires allocation of the purchase price to the estimated fair values of assets and liabilities acquired in the transaction. Our allocation of the purchase price was based on management's judgment after evaluating several factors, including a valuation assessment.</span></div><div><span><br/></span></div><ix:continuation id="i7cbe4fe2497c465285ae7728b24b441a"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The allocation of the purchase price paid for Get Real Health was as follows:</span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"></td><td style="width:85.474%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.326%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase Price Allocation</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzEtMS0xLTEtMjQyNDk_65b957b0-8d23-4664-abfb-476a95102039">159</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzItMS0xLTEtMjQyNDk_aef36209-fa4f-4214-8068-3b31b4b98bec">364</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzQtMS0xLTEtMjQyNDk_a8bce182-8630-4f7a-ba8b-4a19d912497d">107</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzUtMS0xLTEtMjQyNDk_3cd841e5-fac0-434f-b256-a381d7df3596">365</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="cpsi:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzYtMS0xLTEtMjQyNDk_f5638990-c1a4-47fb-963a-665f91a4b6a4">1,285</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzctMS0xLTEtMjQyNDk_e029ea02-76ba-448b-b0ab-d8ac6213f58f">7,890</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzgtMS0xLTEtMjQyNDk_c38f79b8-c365-422a-8d90-966d50b1e595">9,767</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable and accrued liabilities</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzktMS0xLTEtMjQyNDk_db20148c-a381-4bb9-a7f6-c1eb69fc1474">594</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred taxes, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzEwLTEtMS0xLTI0MjQ5_6eeb2659-eecf-42f3-8e49-6895a455347b">1,736</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liability</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzExLTEtMS0xLTI0MjQ5_ad535a21-f26c-4643-9c45-463dcc5401c7">1,285</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzEyLTEtMS0xLTI0MjQ5_57b4ea54-5a34-48c7-9c7c-3c12ff3eb7a9">5,000</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="cpsi:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzEzLTEtMS0xLTI0MjQ5_e37b1de0-1880-4e2e-9b0d-af67e7977235">430</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzE0LTEtMS0xLTI0MjQ5_eb97bc19-a0c4-4102-9ef1-391b72af1a43">10,892</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:continuation><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The intangible assets in the table above are being amortized on a straight-line basis over their estimated useful lives. The amortization is included in amortization of acquisition-related intangibles in our consolidated statements of operations. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value measurements of tangible and intangible assets and liabilities were based on significant inputs not observable in the market and thus represent Level 3 measurements within the fair value measurement hierarchy (see Note 17 - Fair Value). Level 3 inputs included, among others, discount rates that we estimated would be used by a market participant in valuing these assets and liabilities, projections of revenues and cash flows, client attrition rates and market comparables.</span></div></ix:continuation><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">78</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_142"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">4. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90ZXh0cmVnaW9uOmQyMTU2NDQxNjJmYjQ3NTdiYWU1N2Y1OWIyYjEwZDI1XzEwMw_acfaa826-3f3e-4c9d-9172-38c8f2803507" continuedAt="ie1fdbf3c82f94020bb8cb19baa8bdac1" escape="true">PROPERTY AND EQUIPMENT</ix:nonNumeric></span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><ix:continuation id="ie1fdbf3c82f94020bb8cb19baa8bdac1"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90ZXh0cmVnaW9uOmQyMTU2NDQxNjJmYjQ3NTdiYWU1N2Y1OWIyYjEwZDI1XzEwNQ_890af990-f9d2-4bfd-9a98-a090f55a091d" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment were comprised of the following at December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.783%"><tr><td style="width:1.0%"></td><td style="width:71.860%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.890%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.555%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.195%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Land</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1da887bcff9b421190fc0fa3fc044d72_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzEtMS0xLTEtMTg2ODk_16eacb90-0e5f-4296-9b55-1f47044a7424">2,848</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if98f8fbdf0784e23ab624f319145f44d_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzEtMy0xLTEtMTg2ODk_81e8ffd1-ef0d-4cd3-9771-aa4d36f23ad6">2,848</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Buildings and improvements</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i375f4addcd3244ef8d2223822d12e4a8_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzItMS0xLTEtMTg2ODk_8f01a83d-77a4-42bb-b643-ab0162ef8f1f">8,269</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5cdb3384fa3046e2ad46d5e3afec5959_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzItMy0xLTEtMTg2ODk_5baeecec-7566-40eb-aed9-bd93e4803c0f">8,242</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ide101ceca8f54f33885aaf6f1af9f0fb_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzQtMS0xLTEtMTg2ODk_23ac1bce-acc0-4aba-8ae7-b64a520b7a3c">7,868</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5d6f80d9760d40dc87e93b2f0d4e35ec_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzQtMy0xLTEtMTg2ODk_7eacb102-db40-4d63-b9ce-1369803fd4ef">7,144</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibc31d2d4b5424c9c90dcffbba84d715b_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzUtMS0xLTEtMTg2ODk_fa540a03-8f71-4486-82f5-addf4ac2d595">783</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i671809b9f55c489e9bd39b9a6cb45116_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzUtMy0xLTEtMTg2ODk_c3e3b569-ef12-46ed-87d2-1734001987a8">1,283</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office furniture and fixtures</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia3bde531893248b5bcb47e6b90b2a928_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzYtMS0xLTEtMTg2ODk_90e94c1f-fabb-40e7-a4b3-efcf9ad54476">682</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3cda13ca420b4c15a53e1ec9361624eb_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzYtMy0xLTEtMTg2ODk_0af46a0c-d293-4338-a2bd-a68a8a300863">829</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Automobiles</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0e3f448ddcb940b7b4e3b0bbb19445c8_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzctMS0xLTEtMTg2ODk_f41ef184-2a92-4bb9-afb6-5e7431be6217">18</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ica9918e0d8ac4287844a00b525bf32aa_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzctMy0xLTEtMTg2ODk_01837cdd-b2ba-493f-a7a4-31a9194080e5">18</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzgtMS0xLTEtMTg2ODk_dc662b0e-a344-47de-98c9-5cfcac6ebb89">20,468</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzgtMy0xLTEtMTg2ODk_e11c87c0-54c6-4bbc-a8e1-8d81ea49213b">20,364</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzktMS0xLTEtMTg2ODk_aa29db7d-dbb3-48c9-a2e5-048c440ee431">8,878</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzktMy0xLTEtMTg2ODk_f6b4368a-ac8f-4b4c-8a75-685cfd542b34">7,225</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzEwLTEtMS0xLTE4Njg5_2432addb-38c9-42cb-9478-5226cb2c8cf0">11,590</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzEwLTMtMS0xLTE4Njg5_3aff51cf-e9a5-432e-9cf4-97c46daa08bf">13,139</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></ix:continuation></div><div id="i970301c9c50f467384dc14f962fc03da_145"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">5. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzk1OA_3562c27b-268c-489d-a6b7-ceaf8d9945f6" continuedAt="idb9701215a454041a207f578e12813a7" escape="true">SOFTWARE DEVELOPMENT</ix:nonNumeric></span></div><ix:continuation id="idb9701215a454041a207f578e12813a7"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software development costs are accounted for in accordance with ASC 350-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal-Use Software</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.  We capitalize incurred labor costs for software development from the time the preliminary project phase is completed until the software is available for general release.  Research and development costs and other computer software maintenance costs related to software development are expensed as incurred. We estimate the useful life of our capitalized software and amortize its value on a straight-line basis over that estimated life, which is estimated to be <ix:nonNumeric contextRef="id64e1dd8939e448e88046c4c36f6f831_D20210101-20211231" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzEwOTk1MTE2MzA3ODU_0538e058-0e65-4d3e-ad9e-1135b10d784c">five years</ix:nonNumeric>.  If the actual life of the asset is deemed to be impaired, a write-down of the value of the asset may be recorded as a charge to earnings.  Amortization begins when the related features are placed in service.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the second quarter of 2021, our ongoing monitoring activities associated with the capitalization of software development costs and the related correlation between capitalization rates and operational metrics designed to reflect the distribution of work revealed that our then-current labor capitalization methodology did not fully reflect all of the critical activities necessary to develop software assets. Consequently, during the second quarter of 2021, we elected to change our method of estimating the labor costs incurred in developing software assets.  Prior to this change, we estimated the associated labor costs using an estimated time-equivalent for workload metrics commonly utilized within agile software development environments.  With this change, we now estimate these labor costs using the distribution of these agile workload metrics between capitalizable and non-capitalizable units of work.  We believe this change is preferable as the new methodology better estimates capitalizable labor costs and is consistent with industry best practices. We have determined that this change in accounting for software development costs is a change in accounting estimate effected by a change in accounting principle and, as such, has been accounted for on a prospective basis.  In connection with this change, we capitalized software development costs of  $<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-5" name="us-gaap:CapitalizedComputerSoftwareAdditions" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzI3NDg3NzkwNzIxOTE_82281183-c43b-4117-8c4c-f4bfbeb5382d">8.8</ix:nonFraction> million during the year ended December 31, 2021.  We estimate that the effect of this change was to increase capitalized amounts by approximately $<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-5" sign="-" name="cpsi:IncreaseDecreaseToProductDevelopmentCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzI3NDg3NzkwNzIyOTQ_5288f3a4-0bf4-4907-aa77-9e5284f509b6"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-5" name="cpsi:IncreaseDecreaseInCapitalizedSoftwareCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzI3NDg3NzkwNzIyOTQ_774b80fb-9c9e-46ca-a612-7de161db05fe">4.6</ix:nonFraction></ix:nonFraction> million for the year ended December 31, 2021, with a corresponding decrease to product development costs.</span></div><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="cpsi:ScheduleOfSoftwareDevelopmentNetTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzk1OQ_d918df78-c6ea-436a-afb3-50f04561a717" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software development, net was comprised of the following at December&#160;31, 2021 and 2020:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.228%"><tr><td style="width:1.0%"></td><td style="width:68.932%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.842%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.883%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.843%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Software development costs</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:CapitalizedComputerSoftwareGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzEtMS0xLTEtMTg2ODk_f3816e2d-0af8-48b4-8975-88192701009d">12,693</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CapitalizedComputerSoftwareGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzEtMy0xLTEtMTg2ODk_3b7d788f-5cd5-4d30-af9f-1625bb0cd5f8">3,328</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated amortization</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzItMS0xLTEtMTg2ODk_fdad76fe-ad09-43cd-95cb-1eeff0b8c746">1,049</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzItMy0xLTEtMTg2ODk_5fef7f83-a8d4-4960-8226-59bd1ce1b9d9">118</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Software development costs, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:CapitalizedComputerSoftwareNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzMtMS0xLTEtMTg2ODk_260d3020-e71b-43da-9b19-7b083cd8a537">11,644</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:CapitalizedComputerSoftwareNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzMtMy0xLTEtMTg2ODk_326ce970-461c-483b-ab7f-ff39f8ac935c">3,210</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_148"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6.&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90ZXh0cmVnaW9uOmExMTNiYmY5ODcwNzRlNjhhNTNlMmQ0Mjk4NTQ1N2E3XzEwOA_6188bf44-c786-4829-b2ab-a58a7a69b55d" continuedAt="ibe5b426fa0da4c60bc2677bca46157df" escape="true">OTHER ACCRUED LIABILITIES</ix:nonNumeric></span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><ix:continuation id="ibe5b426fa0da4c60bc2677bca46157df"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90ZXh0cmVnaW9uOmExMTNiYmY5ODcwNzRlNjhhNTNlMmQ0Mjk4NTQ1N2E3XzEwOQ_d771a66f-a107-4b0f-850c-b1bcead00f59" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities were comprised of the following at December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"></td><td style="width:72.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.930%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.557%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.932%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Salaries and benefits</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:AccruedSalariesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzEtMS0xLTEtMTg2ODk_c66de299-9a30-464a-b9ae-6412ca06ed41">8,482</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:AccruedSalariesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzEtMy0xLTEtMTg2ODk_65801243-ad80-4832-bc70-90d1603ad086">7,876</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Severance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="cpsi:AccruedSeveranceCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzItMS0xLTEtMTg2ODk_b3fdc303-0a63-4a91-b47d-77ddaf1bcc1f">236</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="cpsi:AccruedSeveranceCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzItMy0xLTEtMTg2ODk_92f43ee7-9df4-43e0-9cc8-41e1cbdad171">25</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commissions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:AccruedSalesCommissionCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzMtMS0xLTEtMTg2ODk_1cdd7dbb-dfa9-4666-b58a-e106041819f9">1,158</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:AccruedSalesCommissionCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzMtMy0xLTEtMTg2ODk_6cf81828-ee27-44e9-a755-3a4a88834c95">1,040</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Self-insurance reserves</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:AccruedInsuranceCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzQtMS0xLTEtMTg2ODk_9ffd64f6-2c37-4ffa-aee6-4c4749c6b4a0">1,409</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:AccruedInsuranceCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzQtMy0xLTEtMTg2ODk_2712997c-2daf-44cf-978e-3c4ba76e885d">1,776</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzUtMS0xLTEtMTg2ODk_20464896-541b-4f54-9d0f-52723f7dfdea">2,500</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzUtMy0xLTEtMTg2ODk_f880a8d3-dba5-4f1d-97d9-8a3ac555efc6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OtherLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzYtMS0xLTEtMTg2ODk_e5613f5a-37f3-4412-8b26-e30e348e44ec">1,786</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzYtMy0xLTEtMTg2ODk_58bcacfe-8c82-4577-b3bb-bd4d2bd69339">551</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities, current portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzctMS0xLTEtMTg2ODk_0c83a226-4086-44ce-bc18-df10bc037812">1,592</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzctMy0xLTEtMTg2ODk_8f1c7b6d-f1dc-44d9-abb5-a7fc653f508c">1,518</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other accrued liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzgtMS0xLTEtMTg2ODk_b492892e-4e69-41ad-a697-51dab0bcaed0">17,163</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzgtMy0xLTEtMTg2ODk_1f26d5b8-031f-45e8-a968-d40517c8daef">12,786</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></ix:continuation></div><div id="i970301c9c50f467384dc14f962fc03da_151"></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">7. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:EarningsPerShareTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90ZXh0cmVnaW9uOjg2ZDM4YWRlNzFkYTQ0OWY5NjFiMjBhMzllNGQyYzFiXzE5OTQ_064715d0-32a7-483a-9110-ac8943937388" continuedAt="i9f84bc75d6a0423eacaf975c47d773c8" escape="true">NET INCOME PER SHARE</ix:nonNumeric></span></div><ix:continuation id="i9f84bc75d6a0423eacaf975c47d773c8" continuedAt="i6bcb1ecdbcaa4bf2879bd1faabe5b41c"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:EarningsPerSharePolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90ZXh0cmVnaW9uOjg2ZDM4YWRlNzFkYTQ0OWY5NjFiMjBhMzllNGQyYzFiXzE5OTY_445c55f7-097c-4789-ac08-d028c156f164" escape="true"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company presents basic and diluted earnings per share ("EPS") data for its common stock. Basic EPS is calculated by dividing the net income attributable to stockholders of the Company by the weighted average number of shares of common stock outstanding during the period. Diluted EPS is determined by adjusting the net income attributable to stockholders of the Company and the weighted average number of shares of common stock outstanding during the period for the effects of all dilutive potential common shares, including awards under stock-based compensation arrangements.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's unvested restricted stock awards (see Note 9) are considered participating securities under ASC 260, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Earnings Per Share</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, because they entitle holders to non-forfeitable rights to dividends until the awards vest or are forfeited. When a company has a security that qualifies as a "participating security," the Codification requires the use of the two-class method when computing basic EPS. The two-class method is an earnings allocation formula that determines EPS for each class of common stock and participating security according to dividends declared (or accumulated) and participation rights in undistributed earnings. In determining the amount of net income to allocate to common stockholders, income is allocated to both common stock and participating securities based on their respective weighted average shares outstanding for the period, with net income attributable to common stockholders ultimately equaling net income less net income attributable to participating securities. Diluted EPS for the Company's common stock is computed using the more dilutive of the two-class method or the treasury stock method.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">80</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;padding-left:18pt"><ix:continuation id="i6bcb1ecdbcaa4bf2879bd1faabe5b41c"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90ZXh0cmVnaW9uOjg2ZDM4YWRlNzFkYTQ0OWY5NjFiMjBhMzllNGQyYzFiXzE5OTE_39ff596f-3f88-44d6-88e3-bed2a5f12cb9" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a calculation of the basic and diluted EPS for the Company's common stock, including a reconciliation between net income and net income attributable to common stockholders for the years ended December 31, 2021, 2020, and 2019:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:59.313%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.603%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.603%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.605%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands, except for per share data)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">Basic EPS</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzMtMS0xLTEtMTg2ODk_f8bd17c9-41ca-4000-861a-d1756ae897a3">18,430</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzMtMy0xLTEtMTg2ODk_89c9195a-eff9-43c0-924f-1dbdb858bdf7">14,246</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzMtNS0xLTEtMTg2ODk_cbb596f3-dcb0-438d-8659-ff8383c18355">20,468</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Net income attributable to participating securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzQtMS0xLTEtMTg2ODk_dbed6c55-921a-44fe-ba4b-6caaf853c867">409</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzQtMy0xLTEtMTg2ODk_462ad4a8-8435-42fe-8d87-27a57d617a0e">429</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzQtNS0xLTEtMTg2ODk_f6fab484-e7a0-45b6-a43e-dd9605baf481">764</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to common stockholders</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzUtMS0xLTEtMTg2ODk_0d5cc14d-ea17-405f-805c-e7d965474c1e">18,021</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzUtMy0xLTEtMTg2ODk_e726b1f8-1648-4df8-b8c9-2edc8465a5d6">13,817</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzUtNS0xLTEtMTg2ODk_f262f7bd-9af1-447b-ad0d-10a8b424f7ea">19,704</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding used in basic per common share computations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzctMS0xLTEtMTg2ODk_8f8a02a4-4e30-4c4a-b56a-d505055a4698">14,290</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzctMy0xLTEtMTg2ODk_d90c3f6f-de80-4b10-a78b-465cb5298698">14,038</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzctNS0xLTEtMTg2ODk_22dde2d2-1dcf-4e14-a9da-ee8e2492eb6f">13,778</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic EPS</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzgtMS0xLTEtMTg2ODk_b48fe4e1-d020-4881-bf65-574f531e1384">1.26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzgtMy0xLTEtMTg2ODk_87e6bd46-5cad-46d9-bcbc-60ff18acd540">0.98</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzgtNS0xLTEtMTg2ODk_5ef15cd8-2b1b-4adc-9238-82842d2c7b2f">1.43</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">Diluted EPS</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to common stockholders for diluted EPS</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE0LTEtMS0xLTE4Njg5_5e788c38-a0be-4f35-9eea-70e7ebb7ed0e">18,021</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE0LTMtMS0xLTE4Njg5_a32fe9ba-e4af-46b5-affe-9c976386abda">13,817</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE0LTUtMS0xLTE4Njg5_a996cd75-f545-4805-874c-beb3a8c8beb2">19,704</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding used in basic per common share computations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE2LTEtMS0xLTE4Njg5_8a9e0523-3cc5-4e8e-9436-42cc85c8961c">14,290</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE2LTMtMS0xLTE4Njg5_371681ca-b6b3-4560-a6b7-80f6f14cd84f">14,038</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE2LTUtMS0xLTE4Njg5_cab4121e-6698-4796-9903-3ce8f70021a4">13,778</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average effect of dilutive securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE4LTEtMS0xLTE4Njg5_2a49a804-b1d3-436b-930d-bb2a90638003">28</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE4LTMtMS0xLTE4Njg5_d664c1b6-89a0-4e27-9580-a669043cda62">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE4LTUtMS0xLTE4Njg5_4eb4af79-e062-45d1-bfb8-9d4eb38a117f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding used in diluted per common share computations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE5LTEtMS0xLTE4Njg5_8572b443-9e50-45ca-b27d-095d6409ca70">14,318</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE5LTMtMS0xLTE4Njg5_9cb501a5-c18f-447c-a692-7301b2b833e0">14,038</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE5LTUtMS0xLTE4Njg5_3243f1af-8cb9-4153-a8e5-b86b98ccf663">13,778</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted EPS</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzIwLTEtMS0xLTE4Njg5_09a17160-d82a-45a0-a3d2-cbd18b255ecb">1.26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzIwLTMtMS0xLTE4Njg5_58acf46e-06a4-4bde-8993-25a4f905e205">0.98</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzIwLTUtMS0xLTE4Njg5_ff97109f-c59f-4da6-aacc-bd9470558413">1.43</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></ix:continuation></div><div style="margin-top:9pt;padding-left:18pt"><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_154"></div><div style="margin-bottom:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:IncomeTaxDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM3MTE_4a15701f-6971-4e4f-8e4e-5b04b4eb4ab6" continuedAt="i767d99cdc8c64315ac2b663417ff58c5" escape="true">INCOME TAXES</ix:nonNumeric></span></div><ix:continuation id="i767d99cdc8c64315ac2b663417ff58c5" continuedAt="i8e627863b58c4866bbd0f5e94c1021b3"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for income taxes in accordance with ASC 740, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accounting for Income Taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. These provisions require a company to determine whether it is more likely than not that a tax position will be sustained upon examination based on the technical merits of the position. If the more-likely-than-not threshold is met, a company must measure the tax position to determine the amount to recognize in the financial statements. The Company did not have any unrecognized tax positions as of December&#160;31, 2021 and 2020.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The federal returns for tax years 2018 through 2020 remain open to examination, and the tax years 2017 through 2020 remain open to examination by certain other taxing jurisdictions to which the Company is subject. Additional years may be open to the extent attributes are being carried forward to an open year.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred income taxes arise from the temporary differences in the recognition of income and expenses for tax purposes. A valuation allowance is established when the Company believes that it is more likely than not that some portion of its deferred tax assets will not be realized. </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i8e627863b58c4866bbd0f5e94c1021b3" continuedAt="i83a9145c6a354aa2ba3411ebc7fb6f5d"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM3MTI_b49ad1c0-b794-4432-8257-0e041bfa577f" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax assets and liabilities were comprised of the following at December&#160;31, 2021 and 2020:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"></td><td style="width:71.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.151%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.570%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.152%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable and financing receivables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="cpsi:DeferredTaxAssetsAccountsReceivableandFinancingReceivables" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzItMS0xLTEtMTg2ODk_d4482652-b70e-4701-9476-0a15b6127e98">625</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="cpsi:DeferredTaxAssetsAccountsReceivableandFinancingReceivables" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzItMy0xLTEtMTg2ODk_cbf9264d-c9f3-455b-9042-690837726ec0">773</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued vacation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="cpsi:DeferredTaxAssetsAccruedVacation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzMtMS0xLTEtMTg2ODk_48e582be-3a50-4754-97ef-513901e567e2">678</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="cpsi:DeferredTaxAssetsAccruedVacation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzMtMy0xLTEtMTg2ODk_e111482f-dd4c-4c85-afeb-2bb3ba880af0">691</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzQtMS0xLTEtMTg2ODk_acac0e8b-db62-48ab-abd9-3090e79b8c9a">1,905</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzQtMy0xLTEtMTg2ODk_53a96981-0065-452e-a774-073eb9483a45">2,568</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsDeferredIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzUtMS0xLTEtMTg2ODk_ad9c3d16-bf8d-44f8-95ad-af4c133b593b">988</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsDeferredIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzUtMy0xLTEtMTg2ODk_d7d78821-cdb8-4f94-a7a8-73a3ce4530a3">283</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued severance </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzYtMS0xLTEtMTg2ODk_1ba29452-4e3d-421f-b5de-d0c6e93e1a86">44</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzYtMy0xLTEtMTg2ODk_208f31a6-a329-42e8-899e-fe5d3a79418b">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued liabilities </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzctMS0xLTEtMTg2ODk_0969c3f3-ea59-4a56-aa3a-b4e71d01b205">15</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzctMy0xLTEtMTg2ODk_144de3cd-b6ba-4c5e-a7c6-cd5a7fb3c30f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right of use asset</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,740&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwards" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEwLTEtMS0xLTE4Njg5_66fc03d7-3414-42ae-92f7-da7bb7f08501">2,472</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwards" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEwLTMtMS0xLTE4Njg5_ce64960f-cc56-463e-b1d0-4bd76d881baa">3,274</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzExLTEtMS0xLTE4Njg5_19c09dba-4a5d-47fc-8261-7163b0633e6c">3,560</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzExLTMtMS0xLTE4Njg5_7af77b9c-c160-4e7f-bd61-5aef25a4f893">4,301</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEyLTEtMS0xLTE4Njg5_5755b715-4378-4f82-b0ef-2153fb285fad">12,027</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEyLTMtMS0xLTE4Njg5_8e7e6252-2c8a-495a-90b2-635a4bc7114e">11,894</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEzLTEtMS0xLTE4Njg5_ad8fae55-566f-4309-b31e-7031f408f371">622</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEzLTMtMS0xLTE4Njg5_7c718631-9758-4623-b8b7-39e55a57f808">636</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE0LTEtMS0xLTE4Njg5_176da41f-99c6-47c7-a2ba-ed961dc7f444">11,405</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE0LTMtMS0xLTE4Njg5_171d3693-d78f-4f45-99a2-a7f99618b627">11,258</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities:</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE2LTEtMS0xLTE4Njg5_b6577b97-0e47-4181-8516-ffdd31373427">18,002</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE2LTMtMS0xLTE4Njg5_dee07bf9-ea1a-4e0c-9a6b-7d3004d09d10">19,603</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued liabilities and other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE3LTEtMS0xLTE4Njg5_b883eb40-7e95-4643-b7bd-79e9715bc4b2">4,668</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE3LTMtMS0xLTE4Njg5_bf511e59-71fb-45fe-be14-2242c5767878">956</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fixed assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE4LTEtMS0xLTE4Njg5_4cbc288d-0ed3-4e23-8c50-d1e185e77df1"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE4LTEtMS0xLTE4Njg5_592c739b-0ddd-4bb1-b6a5-dc31cb102365">875</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE4LTMtMS0xLTE4Njg5_1455f8cb-452d-4e01-b669-adcd92acdc67"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE4LTMtMS0xLTE4Njg5_9544a9a0-eea6-4f8e-a96f-430565b37f3f">1077</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right of use liability</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,740&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax liabilities</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE5LTEtMS0xLTE4Njg5_9322d837-a023-40ca-8a7d-57bbb6ae5d7f">25,285</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE5LTMtMS0xLTE4Njg5_8af59b42-8e12-44ab-b982-c6416d563392">21,636</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net deferred tax liability</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzIwLTEtMS0xLTE4Njg5_0d240a53-d976-44a5-9d58-f0821dd4bc9d">13,880</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzIwLTMtMS0xLTE4Njg5_08fb6ff8-62e8-4b0f-a5ee-2dbd721aca5e">10,378</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM3MTQ_8d582c02-437f-4b47-b7d7-6fd172f4907b" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant components of the income tax provision for the years ended December&#160;31, 2021, 2020 and 2019 were as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"></td><td style="width:57.541%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.171%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.571%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.171%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.571%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.175%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current provision:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzItMS0xLTEtMTg2ODk_677bac28-ec9b-414e-acc8-cbf48b783803">731</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzItMy0xLTEtMTg2ODk_42fc9faf-f8eb-43d8-82b3-d059696fcc7a">244</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzItNS0xLTEtMTg2ODk_91ceda41-502a-413f-bdbb-06ecfa34a4e1">860</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzMtMS0xLTEtMTg2ODk_fa080d3e-5ec8-4aac-92d8-e06cfe8a4d97">413</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzMtMy0xLTEtMTg2ODk_d179da43-915d-48fa-b7ae-fd12cc117b61">1,539</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzMtNS0xLTEtMTg2ODk_69faecd9-74a4-4514-bdd2-120c36e703e3">1,357</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred provision:</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzUtMS0xLTEtMTg2ODk_eb9e571b-94d4-4db3-a9a2-704133e4632e">3,331</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzUtMy0xLTEtMTg2ODk_d9d57045-bb79-465e-a87b-a96868f60465">2,766</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzUtNS0xLTEtMTg2ODk_fad02b9b-9bad-487e-8fcf-dea4cb586a78">951</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzYtMS0xLTEtMTg2ODk_3cb68809-0254-4027-8160-0a60feed15fd">171</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzYtMy0xLTEtMTg2ODk_f15cd8ca-2fe9-46c0-bc48-1257c3ae9c04">11</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzYtNS0xLTEtMTg2ODk_6f009753-9898-43eb-9eee-9bbaa10308cf">60</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income tax provision</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzctMS0xLTEtMTg2ODk_64b062b5-dc0d-4518-afc9-2303004deafb">4,646</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzctMy0xLTEtMTg2ODk_67ab5206-0683-45de-8bb1-33411b9aff8c">4,538</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzctNS0xLTEtMTg2ODk_2f17b923-b9ad-442d-8f1d-259e9f610e4a">3,228</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM3MDk_107bf36a-4515-4969-9428-629bd40807fc" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The difference between income taxes at the U.S. federal statutory income tax rate of <ix:nonFraction unitRef="number" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzEzOTg_596dc305-3600-4057-8e4f-089ca14fb5cf"><ix:nonFraction unitRef="number" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzEzOTg_8147c0ee-c0ca-4f34-a320-c0030f2c144d"><ix:nonFraction unitRef="number" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzEzOTg_d328e489-1353-4938-a612-3261ce1f743c">21</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2021, 2020 and 2019, and those reported in the consolidated statements of operations for the years ended December&#160;31, 2021, 2020 and 2019 are as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"></td><td style="width:57.541%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.171%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.571%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.171%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.571%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.175%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income taxes at U.S. federal statutory rate</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEtMS0xLTEtMTg2ODk_31676617-1bd2-49eb-8205-c729dd3093fe">4,846</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEtMy0xLTEtMTg2ODk_0aba2b2e-359f-46e0-b43e-bb7168f768db">3,945</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEtNS0xLTEtMTg2ODk_ebe11512-c346-461c-8dd3-1b28ef176add">4,976</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision-to-return adjustments</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="cpsi:ProvisionToReturnAdjustments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzItMS0xLTEtMTg2ODk_27b7e5c5-3dc1-4f7e-a7d1-e7c49b59f20d">117</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="cpsi:ProvisionToReturnAdjustments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzItMy0xLTEtMTg2ODk_b3801e48-fe37-454e-bd57-184fcb662484">455</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="cpsi:ProvisionToReturnAdjustments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzItNS0xLTEtMTg2ODk_e577e08f-b7ba-4aa3-8a1f-118a59a7fcb3">66</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State income tax, net of federal tax effect</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzMtMS0xLTEtMTg2ODk_86d43e1e-c207-41d5-9f32-8daf48790882">509</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzMtMy0xLTEtMTg2ODk_28adffa1-400d-4bf0-98ed-e372ea95975b">908</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzMtNS0xLTEtMTg2ODk_fc81a00c-f4fc-4bc6-be4c-a44e2c933a44">978</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax credits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncomeTaxReconciliationTaxCredits" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzUtMS0xLTEtMTg2ODk_1da9873c-1161-4493-bc51-fc1b5a647aec">1,274</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncomeTaxReconciliationTaxCredits" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzUtMy0xLTEtMTg2ODk_c5498c69-c5f6-4829-9ff2-5091559aa85d">958</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeTaxReconciliationTaxCredits" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzUtNS0xLTEtMTg2ODk_36cf13f0-6d5d-413b-8e0d-5414760f25a5">2,196</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="cpsi:EffectiveIncomeTaxRateReconciliationTransactionCosts" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzctMS0xLTEtMTg2ODk_2714864a-13fc-4d8d-8e8e-9ad894c8fe11">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="cpsi:EffectiveIncomeTaxRateReconciliationTransactionCosts" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzctMy0xLTEtMTg2ODk_d21df780-8766-496a-8fe1-eab007c68fd8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" sign="-" name="cpsi:EffectiveIncomeTaxRateReconciliationTransactionCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzctNS0xLTEtMTg2ODk_5c874b66-fbbe-44a1-a54d-a40e72e77303">1,050</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzktMS0xLTEtMTg2ODk_3ceb14f0-7099-428a-9444-62d4a561c627">74</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzktMy0xLTEtMTg2ODk_feda6921-726a-48ab-978c-c2d6ad910d42">255</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzktNS0xLTEtMTg2ODk_9daad6a5-6edd-4261-802b-0d9d1ac8a176">151</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Change in valuation allowance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzExLTEtMS0xLTE4Njg5_852d8ccf-0504-4fa6-850b-1a55b81b954b">14</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzExLTMtMS0xLTE4Njg5_bf53d24f-6d6d-4fb1-8f62-5d53c79c06c1">165</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzExLTUtMS0xLTE4Njg5_abe81136-841d-4c3a-a06a-b7361b5f2d48">173</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-deductible compensation - 162(m)</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="cpsi:EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTEtMS0xLTIyMTI1_606fe8c0-c7f5-44dd-98fb-e8691a10c2f6">510</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="cpsi:EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTMtMS0xLTIyMTMz_e261b67f-4c3d-4c7a-b4e1-a0d1571aa02a">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="cpsi:EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTUtMS0xLTIyMTQw_c3656147-6747-4157-9cf8-e2058ca2ecbc">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTEtMS0xLTE4Njg5_f66b56ca-571f-4d3b-bd8d-d8ec3c381cfb">26</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTMtMS0xLTE4Njg5_3a90df6b-d9b6-497d-befa-3a93a9573d65">98</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeTaxReconciliationOtherReconcilingItems" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTUtMS0xLTE4Njg5_8ade3d2a-4fc3-44e3-bc55-677555195093">262</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income tax provision</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEzLTEtMS0xLTE4Njg5_adce303f-eccb-4b6a-a6d3-a899a1ac3cab">4,646</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEzLTMtMS0xLTE4Njg5_3c0623c1-3aa8-4e9a-9704-6744072650c9">4,538</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEzLTUtMS0xLTE4Njg5_71cbcd19-0773-4d78-bdb0-ed205bad53f4">3,228</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our effective tax rates for the years ended December 31, 2021, 2020 and 2019 were <ix:nonFraction unitRef="number" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzE2NTM_21b61e7f-999e-4589-b858-aa528ff20fdd">20</ix:nonFraction>%, <ix:nonFraction unitRef="number" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzE2NTc_5c36de54-09ca-487f-9aa6-d38a018fe185">24</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzE2NjQ_acd533d0-5322-4615-9628-1eb18f247aaa">14</ix:nonFraction>% respectively. Our effective tax rate for 2019 was significantly impacted by the non-taxable nature of our recorded gain on contingent </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i83a9145c6a354aa2ba3411ebc7fb6f5d" continuedAt="i51265a2396e74236b8de33866f6c733f"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">consideration, which served to reduce the year's effective tax rate by over <ix:nonFraction unitRef="number" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="2" name="cpsi:EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzIxNTk_0c192b3e-e385-4a15-9cdb-5585a6dbc5bf">4</ix:nonFraction>%.  2020 lacked any benefit to the effective tax rate from such contingent consideration and, when combined with more punitive provision to return adjustments primarily related to R&amp;D tax credits and lowered estimates for qualifying research expenditures during the year, thereby lowering estimates for the 2020 R&amp;D tax credit, resulted in a significant increase in the effective tax rate for 2020. Lowered provision to return adjustments resulted in an incremental <ix:nonFraction unitRef="number" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="3" sign="-" name="cpsi:EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate" format="ixt:num-dot-decimal" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzEwOTk1MTE2MzMxNzE_12d4b3b8-f2fc-4200-88d3-fd1e9d3f3d19">2.6</ix:nonFraction>% decrease in our effective tax rate for 2021 compared to 2020, while decreased tax shortfalls related to stock-based compensation arrangements resulted in an incremental <ix:nonFraction unitRef="number" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="3" sign="-" name="cpsi:EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate" format="ixt:num-dot-decimal" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzEwOTk1MTE2MzMxNzc_af383875-5af6-44e0-8fdc-b0b8a3c217ed">1.9</ix:nonFraction>% decrease in our effective tax rate for 2021 compared to 2020.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have federal net operating loss carryforwards related to the acquisition of HHI and Get Real Health of $<ix:nonFraction unitRef="usd" contextRef="i0e6b903e385e4b339042653e96cfa17c_I20211231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI2Njk_62156445-3cde-4fb4-80b0-2d3763d5925f">7.9</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="i8620ad511d2f4266a2ab4eb9a4cb91a1_I20201231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI2NzM_1aa22b4b-51be-4dda-8456-fc93b35b2b71">12.2</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i024ef8a2dc9f40f1846defc35dcecdb7_I20191231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI2ODA_469e0778-f826-4756-b913-b3537e0c1809">27.9</ix:nonFraction> million for the years ending December 31, 2021, 2020, and 2019, respectively, which expire at various dates from 2026 to 2035. We have state net operating loss carryforwards related to the acquisition of HHI and Get Real Health of $<ix:nonFraction unitRef="usd" contextRef="ibabe8e3244dd4088a48c48662ae961f2_I20211231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI5MDY_534c1194-73bb-449f-8556-8f7b13ee15f7">29.9</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="i10998deeec4444688c5a007599d555bf_I20201231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI5MTA_0618da8a-5577-40ed-b6a9-d209ca05be31">34.4</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="ia74a26d7c02d4a389189216a323dc710_I20191231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI5MTc_e677735e-87c7-44c1-bfa5-64dabdf054ba">34.5</ix:nonFraction> million for the years ending December 31, 2021, 2020, and 2019, respectively, which expire at various dates from 2023 to 2036.</span></div></ix:continuation><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i51265a2396e74236b8de33866f6c733f">Realization of deferred tax assets associated with the state net operating loss carryforwards is dependent upon generating sufficient taxable income prior to their expiration. We believe it is more likely than not that the benefit from certain state NOL carryforwards associated with the acquisition of Get Real Health will not be realized. In recognition of this risk, we have provided a valuation allowance on the deferred tax assets related to these state NOL carryforwards of $<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-5" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM0Njc_3decf391-945c-4f7f-85ef-c674c280b199"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-5" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM0Njc_a060f3e5-bb0b-465e-84ff-fb9b99b1089f">0.6</ix:nonFraction></ix:nonFraction> million after both December 31, 2021 and 2020, respectively.</ix:continuation> </span></div><div id="i970301c9c50f467384dc14f962fc03da_157"></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">9.&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTQ_ddbef18d-6908-4d7d-b27f-4d604133f7b2" continuedAt="i151883c9da5c418b8ba50a8cea317971" escape="true">STOCK-BASED COMPENSATION AND EQUITY</ix:nonNumeric></span></div><ix:continuation id="i151883c9da5c418b8ba50a8cea317971" continuedAt="id1749cf314da4801bd69832541a1d035"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's stock-based compensation awards are in the form of restricted stock and performance share awards granted pursuant to the Company's 2012 Restricted Stock Plan for Non-Employee Directors, Amended and Restated 2014 Incentive Plan and 2019 Incentive Plan, as amended (the "Plans"). Stock-based compensation cost is measured at the grant date based on the fair value of the award, and is recognized as an expense over the employee&#8217;s or non-employee director&#8217;s requisite service period. As of December&#160;31, 2021, there was a total </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">f <ix:nonFraction unitRef="shares" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="INF" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDE_4bbc20fd-7553-4248-a364-bf84e1584040">334,629</ix:nonFraction> sh</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ar</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">es of common stock reserved under the Plans for issuance under future share-based payment arrangements.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMTA_d98e4525-2fe3-4740-91c6-2e7a4e4f7664" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table details total stock-based compensation expense for the years ended December&#160;31, 2021, 2020 and 2019, included in the consolidated statements of operations:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"></td><td style="width:57.541%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.171%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.571%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.171%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.571%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.175%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id3f15d2f848e4bdbb0a00f455ceb4254_D20210101-20211231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzEtMS0xLTEtMTg2ODk_2bf8990a-c89d-48c3-907b-bdb32688de2d">990</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0e38cd2e5e6a4451bc6772e3ee528219_D20200101-20201231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzEtMy0xLTEtMTg2ODk_dd9e7c19-2cbe-446f-8c75-1aa0b7539df4">1,474</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7b63e7a270284839915ff562ea1e0d93_D20190101-20191231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzEtNS0xLTEtMTg2ODk_a547ee38-01b1-403e-bce1-7101f1a78cc7">2,040</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating expenses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic0bff55c32b347aeb41db873273a8db8_D20210101-20211231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzItMS0xLTEtMTg2ODk_d0dcbfcb-cfc6-4611-ace8-98387fd659c8">4,467</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i44ae32f91bc146269e80edf22a7449c6_D20200101-20201231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzItMy0xLTEtMTg2ODk_d633a8ea-ac54-4f25-ae76-5bcab9c8129c">5,531</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id7cf6e2513ca435b9fb17c071eac4b41_D20190101-20191231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzItNS0xLTEtMTg2ODk_7830165c-6f3c-46c9-923b-f309b35a8282">7,782</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-tax stock-based compensation expense</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzMtMS0xLTEtMTg2ODk_222d9106-dad1-4191-9c7f-1bf25c19f0a9">5,457</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzMtMy0xLTEtMTg2ODk_bb9217e2-6a7b-4b37-bd20-30addc7b2325">7,005</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzMtNS0xLTEtMTg2ODk_9b680a16-2b3c-4676-833b-a0faca9f9caa">9,822</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: income tax effect</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzQtMS0xLTEtMTg2ODk_2f18e3ee-475d-4504-ae4d-699f84a270b0">1,146</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzQtMy0xLTEtMTg2ODk_ee4cf23a-fa0c-4065-89a5-af4075515f28">1,471</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzQtNS0xLTEtMTg2ODk_c74cb84d-9d45-4113-aa14-5c0b68ed4948">2,063</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net (after tax) stock-based compensation expense</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzUtMS0xLTEtMTg2ODk_5f79c321-7f3a-43f7-8ac2-2b6e2823ab7c">4,311</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzUtMy0xLTEtMTg2ODk_29a27d5b-3a9f-448b-96f6-e092e3485024">5,534</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzUtNS0xLTEtMTg2ODk_e99ca6a9-d5e2-4c6c-ad38-c784c255b85a">7,759</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, there was $<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3Xzg2MA_fb6b00aa-ffcc-4c6b-8db9-f4ff6a785955">7.0</ix:nonFraction> million of unrecognized compensation cost related to unvested or unearned, as applicable, stock-based compensation arrangements granted under the Plans, which is expected to be recognized over a weighted-average period of <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzEwNzc_9926293c-692f-490c-b3e5-98a8e2aac202">1.9</ix:nonNumeric> years.</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">       </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company grants restricted stock to executive officers, certain key employees and non-employee directors under the  2019 Incentive Plan with the fair value of the awards representing the fair value of the common stock on the date the restricted stock is granted. Shares of restricted stock generally vest in equal annual installments over the applicable vesting period, which ranges from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzE1MDI_77727322-af84-4fb8-9936-e10a3da6d6c2">one</span> to <ix:nonNumeric contextRef="ib140512d078a49688922f38534fc3a5e_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzE1MDg_5bcdc4f4-82bb-4fad-af82-bef6bde868e7">three years</ix:nonNumeric>. The Company records expenses for these grants on a straight-line basis over the applicable vesting periods. Shares of restricted stock have also been issued pursuant to the settlement of performance share awards with <ix:nonNumeric contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwODY_e70f5dfa-bc97-4980-af0b-de9287b49839">one-year</ix:nonNumeric> performance periods, for which the Company records expenses in the manner described in the "Performance Share Awards" section below.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Although no such <ix:nonNumeric contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTg_8fd17adc-430d-4427-8ff2-0276e2271066">one-year</ix:nonNumeric> performance share awards were granted during 2021, shares issued pursuant to past <ix:nonNumeric contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTI_4ab70afd-b17c-46e9-a06e-ca6eb4b92c56">one-year</ix:nonNumeric> performance share awards are still subject to vesting.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="id1749cf314da4801bd69832541a1d035" continuedAt="i391d4f55b6904cf1941e412d63e138d6"><div style="margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwODc_69b0395d-6d84-4b78-8e94-8c52f2e8bc7d" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of restricted stock activity (including shares of restricted stock issued pursuant to the settlement of performance share awards) under the Plans during the years ended December&#160;31, 2021, 2020 and 2019 is as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"></td><td style="width:71.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.151%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.570%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.152%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-Average</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Grant-Date</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair Value</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at January&#160;1, 2019</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9c9a51c90657471da0d4ed406f6f44eb_I20181231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEtMS0xLTEtMTg2ODk_adc90032-169d-4a73-a30f-a8504c917a5a">475,132</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i9c9a51c90657471da0d4ed406f6f44eb_I20181231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEtMy0xLTEtMTg2ODk_cd90fc2d-b06c-4245-93b3-a7821a3e74d3">32.00</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzItMS0xLTEtMTg2ODk_aa51d40e-ecfe-41ea-a4e5-885811076b63">133,936</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzItMy0xLTEtMTg2ODk_5005a7ac-67ba-4430-b9a9-a5d3ef2c2c88">30.89</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231" decimals="INF" name="cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzMtMS0xLTEtMTg2ODk_f9a2e2d4-d3d3-4cf6-b9e7-b243b718d483">138,566</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231" decimals="2" name="cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzMtMy0xLTEtMTg2ODk_0e5e9ff3-cc66-487f-af7d-70d252304ec7">29.80</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzQtMS0xLTEtMTg2ODk_d987a123-bf18-4683-be2c-c7f81a4ffb48">221,775</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzQtMy0xLTEtMTg2ODk_fe19bf62-ce4d-45a5-8614-41e5cd0ea74d">33.48</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at December&#160;31, 2019</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i8f8d63ff189b4c629197853c2d594eaf_I20191231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzYtMS0xLTEtMTg2ODk_986a9391-6dac-4ce7-b091-ad0044a4e911">525,859</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i8f8d63ff189b4c629197853c2d594eaf_I20191231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzYtMy0xLTEtMTg2ODk_ac439786-726c-483e-9dad-06e89b79757b">30.51</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzctMS0xLTEtMTg2ODk_8ec29a47-a63b-485c-bbe9-377f7fd0b830">136,771</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzctMy0xLTEtMTg2ODk_2d114646-e2bc-4e2f-8f0f-a2335a4938de">26.16</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231" decimals="INF" name="cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzgtMS0xLTEtMTg2ODk_d8683de4-eedb-4c0c-9565-e54ebdc4cbdd">19,678</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231" decimals="2" name="cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzgtMy0xLTEtMTg2ODk_b6d8c9de-ef67-45db-b8b2-256e520a4344">30.15</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzktMS0xLTEtMTg2ODk_9fbb1d29-4bb8-4caf-bf11-ad92f63b61cb">268,067</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzktMy0xLTEtMTg2ODk_fcce6116-a910-4515-95c9-5f7c95f5bf49">30.80</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEwLTEtMS0xLTE4Njg5_e0afd761-323e-41a3-9878-a17578e20f3b">1,274</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEwLTMtMS0xLTE4Njg5_3286cfa8-ddd6-4a05-8da1-24c559c46883">26.16</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at December&#160;31, 2020</span></div></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if7bc0fdebc8b4555bb10cb1c47f7ee1f_I20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzExLTEtMS0xLTE4Njg5_f3f0f29f-88ef-42e1-b8e9-8a03c4f23fde">412,967</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="if7bc0fdebc8b4555bb10cb1c47f7ee1f_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzExLTMtMS0xLTE4Njg5_9a086e01-6d72-4c4a-999c-83d589598de2">28.87</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEyLTEtMS0xLTE4Njg5_07619d68-bbe7-4a28-8358-fdf92718ec68">153,700</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEyLTMtMS0xLTE4Njg5_9e317754-8a9e-4665-b4c5-7fc88ce57c9b">31.22</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE0LTEtMS0xLTE4Njg5_17cd5038-a278-496d-8f7f-70af4907e051">245,455</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE0LTMtMS0xLTE4Njg5_5342cf32-cf12-40b7-be92-b3cdf6b50932">29.16</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE1LTEtMS0xLTE4Njg5_85735448-4ea6-4766-9687-cd6bbce9f2f4">6,329</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE1LTMtMS0xLTE4Njg5_0667fd6a-7cad-476f-a4d6-d5768a916f1a">29.10</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at December&#160;31, 2021</span></div></td><td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i5b2e405c72c54d09a77a962688d6920a_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE2LTEtMS0xLTE4Njg5_d16cca82-98e7-4441-96a9-13bc88dce183">314,883</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i5b2e405c72c54d09a77a962688d6920a_I20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE2LTMtMS0xLTE4Njg5_9875e367-5d7a-4304-81f2-22a0fd3e9cf2">29.79</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance Share Awards</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company grants performance share awards to executive officers and certain key employees under the Amended and Restated 2014 Incentive Plan prior to 2019 and under the 2019 Incentive Plan beginning in 2019. The number of shares of common stock earned and issuable under each award is determined at the end of each <ix:nonNumeric contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTk_136c0fcc-b62b-4690-a77e-544f761d4c74">one-year</ix:nonNumeric> or <ix:nonNumeric contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDc_3b7f3549-4e83-4ba3-a4f7-8cad01876a40">three-year</ix:nonNumeric> performance period, based on the Company's achievement of performance goals predetermined by the Compensation Committee of the Board of Directors at the time of grant. The <ix:nonNumeric contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwODg_0cee250f-29f1-4f34-a2cc-866e4326079f">three-year</ix:nonNumeric> performance share awards include a modifier to the total number of shares earned based on the Company's total shareholder return ("TSR") compared to an industry index. If certain levels of the performance objective are met, the award results in the issuance of shares of restricted stock or common stock corresponding to such level. <ix:nonNumeric contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDI_3734b32f-aa28-4e0b-aed6-6bb8bea237b8">One-year</ix:nonNumeric> performance share awards are then subject to time-based vesting pursuant to which the shares of restricted stock vest in equal annual installments over the applicable vesting period, which is generally <ix:nonNumeric contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzMzMzU_6affe9d8-6e33-43ba-ac89-2d7e57e03691">three years</ix:nonNumeric>. <ix:nonNumeric contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTU_fd172cff-82ae-4320-ae8d-53098d70beb8">Three-year</ix:nonNumeric> performance share awards result in the issuance of shares of common stock that are not subject to time-based vesting at the conclusion of the <ix:nonNumeric contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwODk_b57db8bb-0ba5-48a6-953e-1c318aa568b9">three-year</ix:nonNumeric> performance period if earned.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the event that the Company's financial performance meets the predetermined targets for the performance objectives of the <ix:nonNumeric contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDM_407b442f-0fe5-4a19-84a8-ed3ac2e39b75">one-year</ix:nonNumeric> or <ix:nonNumeric contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDQ_169d04a8-aaaa-44b1-a4cc-868203bda03f">three-year</ix:nonNumeric> performance share awards, the Company will issue each award recipient the number of shares of restricted stock or common stock, as applicable, equal to the target award specified in the individual's underlying performance share award agreement. In the event the financial results of the Company exceed the predetermined targets, additional shares up to the maximum award may be issued. In the event the financial results of the Company fall below the predetermined targets, a reduced number of shares may be issued. If the financial results of the Company fall below the threshold performance levels, no shares will be issued. The total number of shares issued for the <ix:nonNumeric contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTY_e73683cb-ca2c-4855-991a-9d045bd3aa9e">three-year</ix:nonNumeric> performance share award may be increased, decreased, or unchanged based on the TSR modifier described above.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The recipients of performance share awards do not receive dividends or possess voting rights during the performance period and, accordingly, the fair value of the <ix:nonNumeric contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDA_c5c82fdd-2dd4-4f62-84f0-d2763c6eeaa4">one-year</ix:nonNumeric> performance share awards is the quoted market value of CPSI's common stock on the grant date less the present value of the expected dividends not received during the relevant period. The TSR modifier applicable to the <ix:nonNumeric contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTA_034c4563-ec43-409f-bcca-d9292c4c0721">three-year</ix:nonNumeric> performance share awards is considered a market condition and therefore is reflected in the grant date fair value of the award. A Monte Carlo simulation has been used to account for this market condition in the grant date fair value of the award.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expense of <ix:nonNumeric contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDg_089ad7a0-c8d3-416c-9a75-cfc7f5e4a76f">one-year</ix:nonNumeric> performance share awards is recognized using the accelerated attribution (graded vesting) method over the period beginning on the date the Company determines that it is probable that the performance criteria will be achieved and ending on the last day of the vesting period for the restricted stock issued in satisfaction of such awards. Expense of <ix:nonNumeric contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDU_7d55e42c-e449-4221-a520-438a19896bda">three-year</ix:nonNumeric> performance share awards is recognized using ratable straight-line amortization over the <ix:nonNumeric contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMTE_cb067168-39f5-40a2-92ba-0660ed7ef2f5">three-year</ix:nonNumeric> </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">84</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i391d4f55b6904cf1941e412d63e138d6" continuedAt="i04d041de7eee40afa2653c522b3d1e0e"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">performance period. In the event the Company determines it is no longer probable that the minimum performance level will be achieved, all previously recognized compensation expense related to the applicable awards is reversed in the period such a determination is made.</span></div><div style="margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTE_1c21d96b-b7df-424c-bbef-b77d9f2e770a" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of performance share award activity under the Plans for the years ended December&#160;31, 2021, 2020 and 2019, is as follows, based on the target award amounts set forth in the performance share award agreements:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"></td><td style="width:71.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.151%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.570%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.152%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-Average</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Grant-Date</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair Value</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at January 1, 2019</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib500e6cd1dfa4de58cdb8277daa0844a_I20181231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEtMS0xLTEtMTg2ODk_57507b64-1d0f-4d15-bcb9-a582fe8568e6">184,776</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ib500e6cd1dfa4de58cdb8277daa0844a_I20181231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEtMy0xLTEtMTg2ODk_36bf6a9f-2e54-4acd-a78c-203079429104">30.15</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzItMS0xLTEtMTg2ODk_bdf53170-9841-4c78-9fd0-df7aad4216fd">110,310</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzItMy0xLTEtMTg2ODk_b6adbcd8-0084-4253-ad27-921b61e35947">30.95</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or unearned</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231" decimals="INF" name="cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzMtMS0xLTEtMTg2ODk_c8eea291-5d86-421e-b5c9-6096b4bd466c">44,189</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231" decimals="2" name="cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzMtMy0xLTEtMTg2ODk_8e6ac414-cdc1-489e-afd1-a832cffc313b">29.77</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231" decimals="INF" sign="-" name="cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzQtMS0xLTEtMTg2ODk_8f34360f-f94a-434f-9233-fec1ce58e122">138,566</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231" decimals="2" name="cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzQtMy0xLTEtMTg2ODk_df1aea25-b0a9-45f4-9961-d9a04f04d2da">29.80</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at December&#160;31, 2019</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i35f777e2bdc0495aa175506cf78dc5e0_I20191231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzUtMS0xLTEtMTg2ODk_7f828499-7c94-4beb-9ef0-8cf8060c99c9">200,709</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i35f777e2bdc0495aa175506cf78dc5e0_I20191231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzUtMy0xLTEtMTg2ODk_e4c99b63-4f2e-4fb2-9474-c2bcce17ba68">30.75</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzYtMS0xLTEtMTg2ODk_5a98b3c4-7971-4ba3-bb61-3f9936bbfa15">107,298</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzYtMy0xLTEtMTg2ODk_3edf21fe-9829-4585-9f7c-5cf6e1a30159">26.96</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or unearned</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231" decimals="INF" sign="-" name="cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzctMS0xLTEtMTg2ODk_6fd3d416-a0e4-404a-9ef7-998c8a6704ee">35,477</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231" decimals="2" name="cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzctMy0xLTEtMTg2ODk_f0427895-8e8a-4f5f-856d-be4e780fe28e">30.15</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231" decimals="INF" sign="-" name="cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzgtMS0xLTEtMTg2ODk_3be3a67a-6384-4584-a21b-c1102173fdf4">19,678</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231" decimals="2" name="cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzgtMy0xLTEtMTg2ODk_c2680037-fbc2-470e-bffa-d0604106a513">30.15</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at December&#160;31, 2020</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i4f09ca7c6652413fbd5211df3eff5fb1_I20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzktMS0xLTEtMTg2ODk_e33598ab-72b7-4089-82ea-8676f5986bea">252,852</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i4f09ca7c6652413fbd5211df3eff5fb1_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzktMy0xLTEtMTg2ODk_48f9bc66-210e-4f98-84d3-149e40d69f77">29.27</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEwLTEtMS0xLTE4Njg5_9d1f5775-c4d2-4208-a1e8-4239181bd0c4">93,444</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEwLTMtMS0xLTE4Njg5_198cfffd-8fbd-4cc0-ad52-c820514fa00e">31.26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or unearned</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231" decimals="INF" sign="-" name="cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzExLTEtMS0xLTE4Njg5_59ac5c4c-5037-46e0-b677-ec847cde2848">20,373</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231" decimals="2" name="cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzExLTMtMS0xLTE4Njg5_8eb1fa9f-beda-4ab1-8aea-a014d98a38e5">29.92</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested and issued</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEyLTEtMS0xLTE4Njg5_cfb199c7-65cc-4e29-9fe1-e28f19b66bbe">75,971</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEyLTMtMS0xLTE4Njg5_43be075c-a8df-4a4f-9f47-bbff5e3a7452">30.50</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at December&#160;31, 2021</span></div></td><td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i33920c99045546bd851d4134166c7640_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEzLTEtMS0xLTE4Njg5_3eb94adb-e640-4047-9fd5-3dbf7ba36983">249,952</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i33920c99045546bd851d4134166c7640_I20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEzLTMtMS0xLTE4Njg5_04061b9c-6117-4178-9b12-a4b0549935bd">29.59</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Repurchases</span></div></ix:continuation><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i04d041de7eee40afa2653c522b3d1e0e">On September 4, 2020, our Board of Directors approved a stock repurchase program under which we may repurchase up to $<ix:nonFraction unitRef="usd" contextRef="i8ad00f52d96b434894058fcdac2ce52e_I20200904" decimals="-5" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzYxNzk_c38db949-62f9-4280-b9b5-a19700c456f2">30.0</ix:nonFraction>&#160;million of our common stock through September 3, 2022. During 2021, we repurchased <ix:nonFraction unitRef="shares" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="INF" name="us-gaap:StockRepurchasedDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzYyNTc_b1efe50d-409f-43bb-9616-4e36bc389049">41,965</ix:nonFraction> shares. The approximate dollar value of shares that may yet be repurchased under the stock repurchase program was $<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-5" name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzYzNzQ_31d36fec-6fcb-4f25-b126-6bad916290c8">28.1</ix:nonFraction> million as of  December&#160;31, 2021. Any future stock repurchase transactions may be made through open market purchases, privately-negotiated transactions, or otherwise in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.  Any repurchase activity will depend on many factors, such as the availability of shares of our common stock, general market conditions, the trading price of our common stock, alternative uses for capital, the Company's financial performance, compliance with the terms of our Amended and Restated Credit Agreement and other factors. Concurrent with the authorization of this stock repurchase program, the Board of Directors opted to indefinitely suspend all quarterly dividends.</ix:continuation>  </span></div><div id="i970301c9c50f467384dc14f962fc03da_160"></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ConcentrationRiskDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjAvZnJhZzo2NDEyNWFlNTExNjY0NzI3YTA3YTlhMzEyODJhZmVkMS90ZXh0cmVnaW9uOjY0MTI1YWU1MTE2NjQ3MjdhMDdhOWEzMTI4MmFmZWQxXzEwNjY_05f157ba-a60f-423e-b168-43b03af8befe" continuedAt="i85085e3229c742f8931e30e7c62d4aac" escape="true">CONCENTRATION OF CREDIT RISK</ix:nonNumeric></span></div><ix:continuation id="i85085e3229c742f8931e30e7c62d4aac"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments, which potentially subject the Company to concentration of credit risk, consist principally of temporary cash investments and trade receivables (including financing receivables). The Company places its temporary cash investments with credit-worthy, high-quality financial institutions.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s customer base is concentrated in the healthcare industry. Customers are primarily located throughout the United States. The Company requires no collateral or other security to support customer trade receivables. An allowance for credit losses for trade receivables and an allowance for credit losses for financing receivables have been established for potential credit losses based on historical collection experience.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains its cash and cash equivalents in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses in such accounts and does not believe it is exposed to any significant credit risk on cash and cash equivalents.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">85</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_163"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">11. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:FinancingReceivablesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyMzA_b76f3d1f-1dfa-4493-a7df-507294e40dbd" continuedAt="i5b43c18052334bfdaf427478954fe4ae" escape="true">FINANCING RECEIVABLES</ix:nonNumeric></span></div><ix:continuation id="i5b43c18052334bfdaf427478954fe4ae" continuedAt="if92bbd8e0e58446e83832bdc2b93eae6"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Short-Term Payment Plans</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides fixed monthly payment arrangements ("short-term payment plans") over terms ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzI0MQ_7e7d4c17-971e-4d74-8af9-39fd108f1189">three</span> to <ix:nonNumeric contextRef="i504af8f371ac41aeadb509b6640f79cf_D20210101-20211231" name="cpsi:FinancingReceivableTerm" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzI0Nw_44a3c402-86fb-45fa-b539-489e8a97797c">twelve months</ix:nonNumeric> for certain add-on software installations. As a practical expedient, we do not adjust the amount of consideration recognized as revenue for the financing component as unearned income when we expect payment within one year or less. <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyMzE_742eca30-8f21-4117-82f9-7f48152eb586" continuedAt="id77f4c388c204a77a6039e6897e69672" escape="true">These receivables, included in the current portion of financing receivables, were comprised of the following on December&#160;31, 2021 and 2020:</ix:nonNumeric></span><ix:continuation id="id77f4c388c204a77a6039e6897e69672"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"></td><td style="width:71.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.151%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.570%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.152%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term payment plans, gross</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i96cce644b5b541e3ab151b39dd56fea8_I20211231" decimals="-3" name="us-gaap:NotesAndLoansReceivableGrossCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzEtMS0xLTEtMTg2ODk_1bfa4e34-3d10-44da-b12e-8fb03a958e2d">121</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4a8edb83709a44e493b1a2f14209c2d6_I20201231" decimals="-3" name="us-gaap:NotesAndLoansReceivableGrossCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzEtMy0xLTEtMTg2ODk_53f4fcf0-c301-4a76-9f63-ee2eb5a0528a">1,973</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i96cce644b5b541e3ab151b39dd56fea8_I20211231" decimals="-3" name="us-gaap:AllowanceForNotesAndLoansReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzItMS0xLTEtMTg2ODk_c89fdf83-5679-4bf9-9d91-acaed749fbca">6</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i4a8edb83709a44e493b1a2f14209c2d6_I20201231" decimals="-3" name="us-gaap:AllowanceForNotesAndLoansReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzItMy0xLTEtMTg2ODk_aa386549-1419-4891-879d-723067a28db1">99</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term payment plans, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i96cce644b5b541e3ab151b39dd56fea8_I20211231" decimals="-3" name="us-gaap:NotesAndLoansReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzMtMS0xLTEtMTg2ODk_ddaa8399-6672-440c-9c39-579207e08265">115</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4a8edb83709a44e493b1a2f14209c2d6_I20201231" decimals="-3" name="us-gaap:NotesAndLoansReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzMtMy0xLTEtMTg2ODk_2cade1d1-d232-44f8-a974-437ab1ef3660">1,874</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Long-Term Financing Arrangements</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, the Company provides financing for purchases of its information and patient care systems to certain healthcare providers under long-term financing arrangements expiring in various years through 2026. Under long-term financing arrangements, the transaction price is adjusted by a discount rate that reflects market conditions and that would be used for a separate financing transaction between the Company and licensee at contract inception, and takes into account the credit characteristics of the licensee and market interest rates as of the date of the agreement. As such, the amount of fixed fee revenue recognized at the beginning of the license term will be reduced by the calculated financing component. As payments are received from the licensee, the Company recognizes a portion of the financing component as interest income, reported as other income in the consolidated statements of operations. These receivables typically have terms from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzE2MzE_f4fadd3a-fc0c-450b-bdb7-8b9e189daf6d">two</span> to <ix:nonNumeric contextRef="i97294598b55e4a169139e60c6100574a_D20210101-20211231" name="cpsi:FinancingReceivableTerm" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzE2Mzc_5ffc0ce4-0de3-4a70-bf17-12a4f97e3723">seven years</ix:nonNumeric>.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">  <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="cpsi:ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyNDE_71284a6b-e191-43b1-bccd-b21ca1b29064" continuedAt="i7139b023051144049611df17a863c752" escape="true">The components of these receivables were as follows on December&#160;31, 2021 and 2020:</ix:nonNumeric></span><ix:continuation id="i7139b023051144049611df17a863c752"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"></td><td style="width:71.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.151%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.570%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.152%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term financing arrangements, gross</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzEtMS0xLTEtMTg2ODk_b882e6cb-07d8-4b07-bcca-38535c53b51a">15,659</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if5b4079cad9e4f0a9acd21420703e9e1_I20201231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzEtMy0xLTEtMTg2ODk_dd507ecd-c8f8-4ff4-8d57-eef3ebdf40c8">24,082</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLosses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzItMS0xLTEtMTg2ODk_298c739e-f4c2-4e34-982e-dfe9c7a135e1">716</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if5b4079cad9e4f0a9acd21420703e9e1_I20201231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLosses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzItMy0xLTEtMTg2ODk_f07ff02a-8df0-4549-acb4-d180392576b8">1,390</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: unearned income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:FinancingReceivableDeferredIncome" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzMtMS0xLTEtMTg2ODk_398db90f-824c-4929-86a9-6b5b54c7b830">1,339</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if5b4079cad9e4f0a9acd21420703e9e1_I20201231" decimals="-3" name="us-gaap:FinancingReceivableDeferredIncome" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzMtMy0xLTEtMTg2ODk_9f13cef6-4a5e-4e02-a24a-d279e32d0f0a">2,268</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term financing arrangements, net</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:NotesReceivableNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzQtMS0xLTEtMTg2ODk_b693a9a0-ed1e-4840-97da-82fa03efd989">13,604</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if5b4079cad9e4f0a9acd21420703e9e1_I20201231" decimals="-3" name="us-gaap:NotesReceivableNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzQtMy0xLTEtMTg2ODk_66c9a68f-c6c9-4371-b0db-1f965c9a4007">20,424</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div><div style="margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyMjU_5bc38092-5612-42ac-a102-c9627908ab3e" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum payments to be received subsequent to December&#160;31, 2021 are as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.029%"><tr><td style="width:1.0%"></td><td style="width:85.669%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.131%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzEtMS0xLTEtMTg2ODk_32ec89ab-f07f-406c-98e8-a8476fba8da0">7,060</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzItMS0xLTEtMTg2ODk_0d42b2d0-b3a4-44e0-873d-13d7ba34c583">4,393</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzMtMS0xLTEtMTg2ODk_c7a7cc96-b6b1-46be-973b-917fb34e40be">2,726</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzQtMS0xLTEtMTg2ODk_2a80d799-6d2c-4729-9a63-1f9b72e2ce74">1,309</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzUtMS0xLTEtMTg2ODk_3aaef849-0095-4306-8845-02d53846d3b9">153</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzYtMS0xLTEtMTg2ODk_22fc930d-03d8-43c2-a5f1-5107fd937f07">18</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total minimum payments to be received</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzctMS0xLTEtMTg2ODk_5fa342e4-550a-431c-bb87-d8146662ad62">15,659</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLosses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzgtMS0xLTEtMTg2ODk_298c739e-f4c2-4e34-982e-dfe9c7a135e1">716</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: unearned income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:FinancingReceivableDeferredIncome" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzktMS0xLTEtMTg2ODk_398db90f-824c-4929-86a9-6b5b54c7b830">1,339</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Receivables, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231" decimals="-3" name="us-gaap:NotesReceivableNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzEwLTEtMS0xLTE4Njg5_965c4889-9a48-46b7-974f-01cf4dde207e">13,604</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">86</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="if92bbd8e0e58446e83832bdc2b93eae6" continuedAt="icab19431c11d447d84a9c4d10c267bc1"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Quality of Financing Receivables and Allowance for Credit Losses</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyMjc_3657e246-e9ba-4d83-9c5d-5b09572ee708" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table is a roll-forward of the allowance for financing credit losses for the years ended December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"><tr><td style="width:1.0%"></td><td style="width:29.240%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.212%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.573%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.212%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.573%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.212%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.573%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.212%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.573%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.220%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Charge-offs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recoveries</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLosses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzEtMS0xLTEtMTg2ODk_c173f2d3-0a5c-4d5b-acb2-b47147b7ad11">1,489</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:ProvisionForLoanLossesExpensed" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzEtMy0xLTEtMTg2ODk_e3b1a923-a064-4b06-b658-b4934eb432c1">481</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzEtNS0xLTEtMTg2ODk_36cc1604-78a1-4354-80bc-f47b29370c41">1,248</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLossesRecovery" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzEtNy0xLTEtMTg2ODk_7b6096bb-8c25-49e0-a60c-695ff2be1ca8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLosses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzEtOS0xLTEtMTg2ODk_34014b57-70bf-47c6-b6f9-6a34de9aa3c6">722</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iade483e7d2224faaba6643c762704fb8_I20191231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLosses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzItMS0xLTEtMTg2ODk_77140e1c-696d-4b5c-9132-6871a3683900">2,971</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:ProvisionForLoanLossesExpensed" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzItMy0xLTEtMTg2ODk_5e098a86-1673-4957-8bac-c9e378776c6e">1,632</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzItNS0xLTEtMTg2ODk_93773630-f6f1-4091-accf-03a3fa901788">3,114</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLossesRecovery" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzItNy0xLTEtMTg2ODk_5dde940a-0dc6-4039-b09c-311cc63c0497">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLosses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzItOS0xLTEtMTg2ODk_7b1ad435-cd98-4e79-923f-8f95c5309f3b">1,489</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s financing receivables are comprised of a single portfolio segment, as the balances are all derived from short-term payment plan arrangements and long-term financing arrangements within our target market of community hospitals. The Company evaluates the credit quality of its financing receivables based on a combination of factors, including, but not limited to, customer collection experience, economic conditions, the customer&#8217;s financial condition, and known risk characteristics impacting the respective customer base of community hospitals, the most notable of which relate to enacted and potential changes in Medicare and Medicaid reimbursement rates as community hospitals typically generate a significant portion of their revenues and related cash flows from beneficiaries of these programs. In addition to specific account identification, the Company utilizes historical collection experience to establish the allowance for credit losses. Financing receivables are written off only after the Company has exhausted all collection efforts. Write-off amounts during 2020 were uncharacteristically high as we wrote off large balances for a handful of customers for which specific reserves had been established as of December 31, 2019. Write-off amounts normalized during 2021.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer payments are considered past due if a scheduled payment is not received within contractually agreed upon terms. To facilitate customer collection and credit monitoring efforts, financing receivable amounts are invoiced and reclassified to trade accounts receivable when they become due, with all invoiced amounts placed on nonaccrual status. As a result, all past due amounts related to the Company&#8217;s financing receivables are included in trade accounts receivable in the accompanying consolidated balance sheets. <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:PastDueFinancingReceivablesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyMzM_7542e5a9-92f5-421a-9f0d-f9472e5b5939" continuedAt="id021e41c88364a3bbd53bc1705371371" escape="true">The following is an analysis of the age of financing receivables amounts (excluding short-term payment plans) that have been reclassified to trade accounts receivable and were past due as of December&#160;31, 2021 and 2020:</ix:nonNumeric></span><ix:continuation id="id021e41c88364a3bbd53bc1705371371"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"></td><td style="width:43.004%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.069%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.412%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.141%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.565%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.069%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.565%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.075%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 to 90 Days</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91&#160;to&#160;180&#160;Days</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">181 + Days</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4f71f38e00134d0a967eef57416d23ea_I20211231" decimals="-3" name="us-gaap:NotesReceivableGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzEtMS0xLTEtMTg2ODk_1be500d7-d815-4b58-b1b2-476bc82514b6">713</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i19fe20fadbec473e84c2cefa050549ce_I20211231" decimals="-3" name="us-gaap:NotesReceivableGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzEtMy0xLTEtMTg2ODk_d644b120-75b3-4643-b376-8417245efda4">78</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idfbb6db55bcc475c95090a63e03223cb_I20211231" decimals="-3" name="us-gaap:NotesReceivableGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzEtNS0xLTEtMTg2ODk_293c4967-bdad-4132-8751-834eadacee2e">73</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i394e0c51c5204c65ba3c50821206516f_I20211231" decimals="-3" name="us-gaap:NotesReceivableGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzEtNy0xLTEtMTg2ODk_26beddc9-be20-4253-b0ea-996b002535dd">864</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5896a48759ed47e986e160780dca3cc6_I20201231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzItMS0xLTEtMTg2ODk_43f4e59d-be18-47ec-8767-5bc4394ee250">1,270</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d18e9bb2beb4dfe95e84c699bba98b9_I20201231" decimals="-3" name="us-gaap:NotesReceivableGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzItMy0xLTEtMTg2ODk_943f8129-0637-418d-ac60-052ffa4e44e2">227</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i90899b30bab747b9be60aebbb78c0306_I20201231" decimals="-3" name="us-gaap:NotesReceivableGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzItNS0xLTEtMTg2ODk_30235f89-3323-4c14-a495-283d944c4a69">672</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4338a3b0df2442259fe4743db2d4f147_I20201231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzItNy0xLTEtMTg2ODk_2ea010b5-3b33-46e2-a14f-09dfa35e194b">2,169</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company may agree to alternative payment terms outside of the terms of the original financing receivable agreement due to customer difficulties in achieving the original terms. In general, such alternative payment arrangements do not result in a re-aging of the related receivables. Rather, payments pursuant to any alternative payment arrangements are applied to the already outstanding invoices beginning with the oldest outstanding invoices as the payments are received.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because amounts are reclassified to trade accounts receivable when they become due, there are no past due amounts included within the financing receivables or the financing receivables, current portion, net amounts in the accompanying consolidated balance sheets.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">87</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><ix:continuation id="icab19431c11d447d84a9c4d10c267bc1"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company utilizes an aging of trade accounts receivable as the primary credit quality indicator for its financing receivables, which is facilitated by the reclassification of customer payment amounts to trade accounts receivable when they become due. <ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:FinancingReceivableCreditQualityIndicatorsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyNDA_fd9d823f-263d-426f-a885-f224ea0abcd0" continuedAt="i9d14a733b69841b9bcd205d870d81648" escape="true">The table below categorizes customer financing receivable balances (excluding short term payment plans), none of which are considered past due, based on the age of the oldest payment outstanding that has been reclassified to trade accounts receivable:</ix:nonNumeric></span><ix:continuation id="i9d14a733b69841b9bcd205d870d81648"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"></td><td style="width:71.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.151%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.570%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.152%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stratification of uninvoiced client financing receivables based on aging of related trade accounts receivable:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Uninvoiced client financing receivables related to trade accounts receivable that are 1 to 90 Days Past Due</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia34e41edc0bb4aa0bee1d2ed39d494ff_I20211231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzItMS0xLTEtMTg2ODk_08e63105-dd8b-4e87-b26e-9d0c3ffb20dc">9,100</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3bd916e526b841e5a2f4c5805b0c460b_I20201231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzItMy0xLTEtMTg2ODk_27928a3d-87f2-42b9-b65d-65a686da3be7">11,719</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Uninvoiced client financing receivables related to trade accounts receivable that are 91 to 180 Days Past Due</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7f089113fe87450796dfec96d18ff113_I20211231" decimals="-3" name="us-gaap:NotesReceivableGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzMtMS0xLTEtMTg2ODk_fa5b15df-a05f-42bb-b08d-2ba87612de6d">329</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i495ee455a3694ab1bc3a37cbf0792e84_I20201231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzMtMy0xLTEtMTg2ODk_cd61d777-3188-40a7-b5d5-78d27ea427dd">1,092</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Uninvoiced client financing receivables related to trade accounts receivable that are 181+Days Past Due</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id98187245f5942d5bb53b2ff9fefa443_I20211231" decimals="-3" name="us-gaap:NotesReceivableGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzQtMS0xLTEtMTg2ODk_3874ddd6-5d77-480c-bcdc-15c5d7daf985">386</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i772210ffd2864501b2fa8347302d196d_I20201231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzQtMy0xLTEtMTg2ODk_0796dedf-9f70-414c-8157-17c69b6974e9">2,668</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total uninvoiced client financing receivables balances of clients with a trade accounts receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i50780332897842d8a170c8d913737dca_I20211231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzUtMS0xLTEtMTg2ODk_e7af190b-8118-42c9-9d84-e93202fc5f50">9,815</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i885c4719103c4223917a1819fdc77fae_I20201231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzUtMy0xLTEtMTg2ODk_79e59777-c037-4826-8906-0a9fd704132a">15,479</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total uninvoiced client financing receivables of clients with no related trade accounts receivable </span></td><td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iabc96cc01477497c865be40696b76660_I20211231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzYtMS0xLTEtMTg2ODk_9b019ab6-a894-444b-a6af-4c2f27826d65">4,505</ix:nonFraction>&#160;</span></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0854ed4b072644c5b0be09e992f37e17_I20201231" decimals="-3" name="us-gaap:NotesReceivableGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzYtMy0xLTEtMTg2ODk_6526c106-0057-4466-9925-6593e69c612a">6,335</ix:nonFraction>&#160;</span></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financing receivables with contractual maturities of one year or less</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="cpsi:FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzctMS0xLTEtMTg2ODk_20b7de56-ee8c-4faa-83f9-adedb8be4bac">121</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="cpsi:FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzctMy0xLTEtMTg2ODk_015703df-a63a-4a37-bd46-9ec87662ed1d">1,973</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLosses" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzgtMS0xLTEtMTg2ODk_4081927b-71dd-45e9-b035-d48e475037e2">722</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLosses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzgtMy0xLTEtMTg2ODk_b3f2a51e-fd00-4d50-9ea8-31c1891213ca">1,489</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financing receivables</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:NotesReceivableNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzktMS0xLTEtMTg2ODk_0f173ff4-3375-44d8-85a9-660bec4c524a">13,719</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:NotesReceivableNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzktMy0xLTEtMTg2ODk_c6138206-92d0-4126-83e5-6213cfe1b763">22,298</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></ix:continuation></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">88</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_166"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzQ2NA_8f6db597-e26a-4702-b25a-5f41c889286d" continuedAt="i47ca428837744afeba548b5594fa08b7" escape="true">INTANGIBLE ASSETS AND GOODWILL</ix:nonNumeric></span></div><ix:continuation id="i47ca428837744afeba548b5594fa08b7"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzQ2NQ_fd0bf7f7-dfe1-469a-a459-8f6ac9daf350" escape="true"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our purchased definite-lived intangible assets as of December&#160;31, 2021 and 2020 are summarized as follows:</span></div><div style="margin-top:9pt;padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"><tr><td style="width:1.0%"></td><td style="width:43.945%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.963%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.700%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.963%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.700%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.963%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.700%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.966%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December&#160;31, 2021</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer Relationships</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademark</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed Technology</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross carrying amount, beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2be536a0f65c4b11b8d9bd6f68f8756c_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzItMS0xLTEtMTg2ODk_6cf31f43-9a9f-4eca-b386-06bedbc4fbc6">84,370</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6072eac355814ae18b59f266502ab12d_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzItMy0xLTEtMTg2ODk_d9b51486-b444-4cd0-a63d-0e92054e0144">11,120</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i317e25108f39466cac1924a62b77a83b_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzItNS0xLTEtMTg2ODk_11d06cda-c0df-457c-b30f-4490569e6ef9">29,700</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzItNy0xLTEtMTg2ODk_248760f7-a177-40cc-8148-a5409360a553">125,190</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets acquired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i01b18e2e53594288b1e7188aa5cd00e8_D20210101-20211231" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzMtMS0xLTEtMTg2ODk_c05361ef-b7c4-4b6d-9d21-3abe18bf766f">28,200</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5f8355a19d574aa0beea355882e9d31d_D20210101-20211231" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzMtMy0xLTEtMTg2ODk_367a7d92-0095-4a4a-92f3-1ced742b21b6">1,200</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i38be02faf2f241de9da5eabb28d5ceaa_D20210101-20211231" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzMtNS0xLTEtMTg2ODk_b053c0e1-3b41-40a0-bb26-b2344bf386c6">7,900</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzMtNy0xLTEtMjQwNTc_d8038803-b2f6-47c2-9c25-bb50b2fb5e9c">37,300</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated amortization </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie49e1f5902674ab5af06ab1168ab2753_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzQtMS0xLTEtMTg2ODk_16547d4b-0e95-4cc8-8167-a9035d81f8c5">41,738</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i1480e56773254180bcd33871404718bc_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzQtMy0xLTEtMTg2ODk_5c147703-8545-4cc2-9d35-4f74912c1d24">5,177</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i836109cf60b343bbbecd278715acae38_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzQtNS0xLTEtMTg2ODk_01e8f648-1d9d-42da-81b3-03a86ba2135b">20,372</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzQtNy0xLTEtMTg2ODk_43727e80-7499-4337-a7c4-e4bf96cace6b">67,287</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net intangible assets as of December&#160;31, 2021</span></div></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie49e1f5902674ab5af06ab1168ab2753_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzUtMS0xLTEtMTg2ODk_e763d779-eb16-4579-85a1-37807866ef7e">70,832</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1480e56773254180bcd33871404718bc_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzUtMy0xLTEtMTg2ODk_4dc33966-4787-461b-af00-f7ab5a5b5211">7,143</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i836109cf60b343bbbecd278715acae38_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzUtNS0xLTEtMTg2ODk_30ad447e-0268-4d3e-9330-50e363639d08">17,228</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzUtNy0xLTEtMTg2ODk_baba8283-c2a6-4764-817b-a943351b3699">95,203</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average remaining years of useful life</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i01b18e2e53594288b1e7188aa5cd00e8_D20210101-20211231" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzYtMS0xLTEtMTg2ODk_11c2f7b8-857a-4360-a86b-4d8feb63aeb2">9</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i5f8355a19d574aa0beea355882e9d31d_D20210101-20211231" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzYtMy0xLTEtMTg2ODk_3ffe18a0-cf63-4c28-b903-517391b7e2eb">13</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i38be02faf2f241de9da5eabb28d5ceaa_D20210101-20211231" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzYtNS0xLTEtMTg2ODk_45881764-b1d7-42c8-9ad6-0b7422bc4a23">8</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzYtNy0xLTEtMTg2ODk_66931de1-0bc1-4348-8037-5c7703a49522">10</ix:nonNumeric></span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer Relationships</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademark</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed Technology</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross carrying amount, beginning of period </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie78548a3771d4f0788eae7e8f3037e69_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEwLTEtMS0xLTE4Njg5_2b4a53a1-317a-4328-8591-a66fbbcd3e03">84,370</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i042c4a6e333c4e50abbc82964744d503_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEwLTMtMS0xLTE4Njg5_9b62e651-1749-46bb-a099-2f4e5e9c6933">11,120</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8a7f3950ab004b87877793d42333a2c7_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEwLTUtMS0xLTE4Njg5_8b3790ae-ac15-4ff7-975d-e11df57945bc">29,700</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iade483e7d2224faaba6643c762704fb8_I20191231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEwLTctMS0xLTE4Njg5_32a9f3d6-f9a8-4c24-965f-de5d9a01542c">125,190</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated amortization</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i2be536a0f65c4b11b8d9bd6f68f8756c_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEyLTEtMS0xLTE4Njg5_9611da2c-870d-4283-b53a-e040cc4c1b9f">33,612</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6072eac355814ae18b59f266502ab12d_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEyLTMtMS0xLTE4Njg5_737e37f7-8f9d-4718-baad-93eae5bc0116">4,297</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i317e25108f39466cac1924a62b77a83b_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEyLTUtMS0xLTE4Njg5_431c2ffd-1a05-46d4-8161-73c181fb1a27">15,592</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEyLTctMS0xLTE4Njg5_279f9c25-ac39-4c09-9146-e8e4f97e7cea">53,501</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net intangible assets as of December 31, 2020</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2be536a0f65c4b11b8d9bd6f68f8756c_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEzLTEtMS0xLTE4Njg5_7801fe0b-9832-4b12-82c2-f2380445949d">50,758</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6072eac355814ae18b59f266502ab12d_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEzLTMtMS0xLTE4Njg5_7a4eea83-a595-465f-8668-3c1f649652d8">6,823</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i317e25108f39466cac1924a62b77a83b_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEzLTUtMS0xLTE4Njg5_e263de6b-01f6-4c3c-91ca-dc835fe0b80f">14,108</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEzLTctMS0xLTE4Njg5_2e53f079-9899-4455-9cee-886d9afffd53">71,689</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-top:9pt;padding-left:18pt"><span><br/></span></div><div style="margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzQ2MA_5af8e630-2130-4b94-b16b-d84cb31ec6e9" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the remaining amortization of definite-lived intangible assets as of December&#160;31, 2021:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.345%"><tr><td style="width:1.0%"></td><td style="width:85.698%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.102%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For the year ended December 31,</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzItMS0xLTEtMTg2ODk_b9623c11-d124-4e36-9e7c-5c110b424933">14,688</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzMtMS0xLTEtMTg2ODk_e65a7873-eaee-4865-93a0-fafbd0c422e2">12,800</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzQtMS0xLTEtMTg2ODk_e1bdb97a-7cb5-4f50-94b6-176c8474e517">11,266</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzUtMS0xLTEtMTg2ODk_9be75b82-d165-4b49-b154-d4d4fb256a91">10,950</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzYtMS0xLTEtMjMwMzg_cc2ad43b-0aea-471d-9bfa-35be2c287161">10,328</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzctMS0xLTEtMTg2ODk_e4eafa0f-d100-4ee7-b169-fb02fb464f59">35,171</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzgtMS0xLTEtMTg2ODk_cc5594f7-a755-4bff-ae42-c8cacb41cd62">95,203</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfGoodwillTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzQ2Mw_f0054bb5-2251-417e-bb4d-52227d0e6d13" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the change in the carrying amount of goodwill by segment for the years ended December&#160;31, 2021, 2020, and 2019:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"><tr><td style="width:1.0%"></td><td style="width:47.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.665%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.665%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.817%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.821%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2018</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i59e11e8e16c643d08587bbf17610a0d4_I20181231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzEtMS0xLTEtMTg2ODk_8d4a4e15-e170-407b-87b7-f973370e3e34">97,095</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3f990ced8a63426fad4d5dbc2dbe5fa0_I20181231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzEtMi0xLTEtMTg2ODk_5717006c-c458-4a58-be80-9413e04533a2">29,570</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic2c74b16328b45b28e0b371d9c0bc311_I20181231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzEtMy0xLTEtMTg2ODk_eacce69e-f3fa-4286-b3da-4fadeaaa4d4b">13,784</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba34e02a99eb4a77a9abd132b80fd41a_I20181231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzEtNC0xLTEtMTg2ODk_15f69f1d-b260-47ae-9b3f-4dd654bbb595">140,449</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill acquired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i68250114a9cb4fa1945033918d2365fe_D20190101-20191231" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzItMS0xLTEtMTg2ODk_63ef850d-62d8-49ba-afc7-6d1580444463">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzItMi0xLTEtMTg2ODk_f7740b73-37b6-4b8c-a537-94b7e88a65e8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i50e15f0a744942cd9cc167ab38a7f61d_D20190101-20191231" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzItMy0xLTEtMTg2ODk_078bed69-910b-4e42-b9ca-246a8b68ece1">9,767</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzItNC0xLTEtMTg2ODk_cf44c3d4-62b6-4818-af2e-b87d751a9279">9,767</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2019</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ife0de9e0394749be960489305714b4a8_I20191231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzMtMS0xLTEtMTg2ODk_0ef031cc-319b-40bf-b0c7-867f0e744b45">97,095</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb1f4e30623e4f57bdbebdd56a30181d_I20191231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzMtMi0xLTEtMTg2ODk_98ade37a-d63c-4ff7-a18d-d57bfd5f9f29">29,570</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0c9c5fb12ad2447d8357f534c830af13_I20191231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzMtMy0xLTEtMTg2ODk_954c5375-7e49-42a6-8178-3e86acc7c63c">23,551</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iade483e7d2224faaba6643c762704fb8_I20191231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzMtNC0xLTEtMTg2ODk_2fcb0fe5-6dd8-4b3a-84a3-cc7369ed8a20">150,216</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia18b0ed945464b0cadd990f042f24c2b_I20201231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzQtMS0xLTEtMTg2ODk_e45d033b-cb43-41c4-a9d2-63d94619ac87">97,095</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie12c66c23ade4899aaca58beda541f14_I20201231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzQtMi0xLTEtMTg2ODk_be583cb0-00ef-4309-ad08-2ca6d5e6a92f">29,570</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i33326983aa3b47c799e18f4cd740ab27_I20201231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzQtMy0xLTEtMTg2ODk_dc028504-4adb-4180-8ac1-bcfc81992c76">23,551</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzQtNC0xLTEtMTg2ODk_565ac031-4cbc-4c8e-947b-bd869650dd01">150,216</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill acquired</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i396944ff3ba942049790a47bde82ea44_D20210101-20211231" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzUtMS0xLTEtMTg2ODk_b3aa8b2b-ad28-42fd-a184-0b93f7470ee8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzUtMi0xLTEtMTg2ODk_dfe1f64c-c382-44f6-ae9d-96e05a92a0ed">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i07770b156f8e48248317564d171ebc33_D20210101-20211231" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzUtMy0xLTEtMTg2ODk_9019c9cf-099f-4e0a-a63f-67526ec113c8">27,497</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzUtNC0xLTEtMTg2ODk_63a77eba-fc05-4c9d-bd4d-eee620ca9c04">27,497</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8fc8a55b5b234ea5a4e8f6d1200bc81c_I20211231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzYtMS0xLTEtMjQwNTQ_9249f4db-055c-4524-a15b-bb23d991c952">97,095</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8347c29ac01e4a418eb23db105f002ba_I20211231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzYtMi0xLTEtMjQwNTQ_78b62f23-b63a-4703-99ce-3a56e1ef18d2">29,570</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i457aed60978445d8a4fbd2c899cbe129_I20211231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzYtMy0xLTEtMjQwNTQ_d3df5879-65e1-46fa-adc9-fd53486d911b">51,048</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzYtNC0xLTEtMjQwNTQ_cb0613e6-777c-40cf-8fc2-d750ce119582">177,713</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determined there was <ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzM5NQ_118ab5ce-5637-4a2e-aabd-277bc5f972ea"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzM5NQ_a70f983b-8e42-4a87-8aa7-a1d4aade56e5"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzM5NQ_b0f2cc7d-7364-4506-b21c-f357e956f908">no</ix:nonFraction></ix:nonFraction></ix:nonFraction> impairment to goodwill as of December 31, 2021, 2020, or 2019.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">89</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_169"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">13. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:DebtDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzU1NDE_ab050a4e-5bb6-481c-bed6-b30954e24ef9" continuedAt="i7c1e00a349c74dd08529b1bb2ec02d30" escape="true">LONG-TERM DEBT</ix:nonNumeric></span></div><ix:continuation id="i7c1e00a349c74dd08529b1bb2ec02d30" continuedAt="i494e5452410546aab69ce5ee668524f1"><div style="margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzU1NDI_f547d30e-7d9d-4cc5-97c6-c68753a66457" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term debt was comprised of the following at December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"><tr><td style="width:1.0%"></td><td style="width:56.890%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.143%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.322%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.145%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Term loan facility</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia857e5fe932041ea94266344b190ee72_I20211231" decimals="-3" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzEtMS0xLTEtMTg2ODk_70e2c819-e71f-439f-b4ab-34282f10fc55">69,375</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idcbdd02f4e974b62afb99bf20b12e1a7_I20201231" decimals="-3" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzEtMy0xLTEtMTg2ODk_56222a3c-127c-4194-85ad-aa91ee7f0484">73,125</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revolving credit facility</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i098ec3a0edb44499a25f0be40f834433_I20211231" decimals="-3" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzItMS0xLTEtMTg2ODk_27cf7ca5-ecd8-490f-8a69-b110f6e0103a">31,000</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4f41e506535241158952377e85b92f73_I20201231" decimals="-3" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzItMy0xLTEtMTg2ODk_932a178d-e9bc-44a8-953b-9e48fcc49e67">5,000</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Debt obligations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231" decimals="-3" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzQtMS0xLTEtMTg2ODk_b84b69d0-5f7a-4d2d-8267-414362752224">100,375</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4b82d1206fea4eeb801fbfe940a29560_I20201231" decimals="-3" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzQtMy0xLTEtMTg2ODk_05daf269-50c6-46e4-9391-858a4e8cdcbd">78,125</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: debt issuance costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:DeferredFinanceCostsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzUtMS0xLTEtMTg2ODk_7f4e77eb-ee63-4092-abee-dc73ca2c9c28">1,015</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:DeferredFinanceCostsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzUtMy0xLTEtMTg2ODk_8bf94706-43f0-4757-9794-fb533430ce64">1,308</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Debt obligation, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzYtMS0xLTEtMTg2ODk_3cd73c0c-a423-4918-a1ea-d25b290f0dbd">99,360</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzYtMy0xLTEtMTg2ODk_de67db2c-3a81-4a37-acb0-4e79e064277d">76,817</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: current portion</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzctMS0xLTEtMTg2ODk_5043af4b-d02e-4ffc-9325-f049e64da407">4,394</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzctMy0xLTEtMTg2ODk_b90616a8-2575-42ca-bb54-2a43de48876c">3,457</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzgtMS0xLTEtMTg2ODk_e8e02f93-0d46-4e1d-8ae0-fd4b26e765c8">94,966</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab40e2ac68884870b913789195bc317e_I20201231" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzgtMy0xLTEtMTg2ODk_714c2341-32af-4eae-ac02-fc5f91cd09e5">73,360</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, the carrying value of debt approximates the fair value due to the variable interest rate which reflects market rates.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Agreement</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In conjunction with our acquisition of HHI in January 2016, we entered into a syndicated credit agreement with Regions Bank ("Regions") serving as administrative agent, which provided for a $<ix:nonFraction unitRef="usd" contextRef="i69f6598ce20040d0b0d0a00432dd75f5_I20160131" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQyMg_75dd65a0-1131-4f71-9412-055ce4cc377f">125</ix:nonFraction> million term loan facility and a $<ix:nonFraction unitRef="usd" contextRef="ic2cc02f8bb884567804955e9db8c72e6_I20160131" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQ1OA_43ecb0a6-df8c-48ba-ad1d-2ba32af90adc">50</ix:nonFraction> million revolving credit facility. On June 16, 2020, we entered into an Amended and Restated Credit Agreement that increased the aggregate principal amount of our credit facilities to $<ix:nonFraction unitRef="usd" contextRef="i89787416874f45a5a31f1114f422880d_I20200616" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzY0NQ_ed0fddcd-4f49-4d3f-87d8-0a64fcf0e406">185</ix:nonFraction> million, which includes a $<ix:nonFraction unitRef="usd" contextRef="i4e0ac7ab7e08464d86fd95fbf051710f_I20200616" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzY3NA_e8fdb9b6-d353-4c3b-a4c8-61e9106cd280">75</ix:nonFraction> million term loan facility and a $<ix:nonFraction unitRef="usd" contextRef="i66ae8df3555a4b09ab10feda0246f5f4_I20200616" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzcxMA_92d188cf-4ab4-4539-8245-eae8974fe4c9">110</ix:nonFraction> million revolving credit facility.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Each of our credit facilities continues to bear interest at a rate per annum equal to an applicable margin plus, at our option, either (1)&#160;the Adjusted LIBOR rate for the relevant interest period, subject to a floor of <ix:nonFraction unitRef="number" contextRef="idbfc7bbbd3b0494cacb226b1d2242e9c_D20200616-20200616" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt:num-dot-decimal" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1Xzk2Nw_3aa4c36c-0ada-48e2-86e5-214359a669ef">0.50</ix:nonFraction>%, (2)&#160;an alternate base rate determined by reference to the greater of (a)&#160;the prime lending rate of Regions, (b)&#160;the federal funds rate for the relevant interest period plus one half of one percent per annum and (c)&#160;the one month LIBOR rate, subject to the aforementioned floor,  plus <ix:nonFraction unitRef="number" contextRef="i2ee0f003efa54176b9c29af41c084885_D20200616-20200616" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt-sec:numwordsen" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzEyNTU_971a5403-d2e4-4b7c-9000-107fe3687de1">one</ix:nonFraction> percent per annum, or (3)&#160;a combination of (1)&#160;and (2). The applicable margin range for LIBOR loans and the letter of credit fee ranges from <ix:nonFraction unitRef="number" contextRef="i8012728517e9492c8f41ce749681957b_D20200616-20200616" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt:num-dot-decimal" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzEzOTk_d06f4a04-7cb3-41f9-84ae-40184d334c97">1.8</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="i07f2313760d64cfc8984a1df0d40f5d4_D20200616-20200616" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt:num-dot-decimal" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE0MDU_612fc524-e9cd-4bd3-9202-1e8108437a85">3.0</ix:nonFraction>%. The applicable margin range for base rate loans ranges from <ix:nonFraction unitRef="number" contextRef="i3f07da70093d4c77b85f88ea63b6a831_D20200616-20200616" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt:num-dot-decimal" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE0Njk_cbee68e0-aa5e-485e-b5e5-3d05ff48d185">0.8</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="ibeb8591df2a54f0ea408cf7c86d6683c_D20200616-20200616" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" format="ixt:num-dot-decimal" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE0NzU_9c31b7c2-ec12-49c1-aa36-1911ea60c2f4">2.0</ix:nonFraction>%, in each case based on the Company's consolidated net leverage ratio. </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Principal payments with respect to the term loan facility are due on the last day of each fiscal quarter beginning September 30, 2020, with quarterly principal payments of approximately $<ix:nonFraction unitRef="usd" contextRef="ic359000302a944a6978029ba0d8b4b34_D20201001-20220630" decimals="-5" name="us-gaap:DebtInstrumentPeriodicPaymentPrincipal" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE3MzU_74429083-01db-43b6-a111-c4a5ca1e5652">0.9</ix:nonFraction> million through June 30, 2022, approximately $<ix:nonFraction unitRef="usd" contextRef="i17b8def01d8f46fabb3836ba681f540a_D20201001-20240630" decimals="-5" name="us-gaap:DebtInstrumentPeriodicPaymentPrincipal" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE3ODM_dc105ad8-0c16-47e6-b2da-0ab3e4538035">1.4</ix:nonFraction> million through June 30, 2024 and approximately $<ix:nonFraction unitRef="usd" contextRef="iee50ce6c660b4c4a919bfb026f1f98d5_D20201001-20250331" decimals="-5" name="us-gaap:DebtInstrumentPeriodicPaymentPrincipal" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE4MzQ_a031fe80-94ed-4e38-ada3-4ba07015fc5b">1.9</ix:nonFraction> million through March 31, 2025, with maturity on June 16, 2025 or such earlier date as the obligations under the Amended and Restated Credit Agreement become due and payable pursuant to the terms of such agreement. Any principal outstanding under the revolving credit facility is due and payable on the maturity date.</span></div><div style="margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzU1NDA_7b649717-e3c3-4a54-ab96-328292e0348d" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Anticipated annual future maturities of the term loan facility and revolving credit facility are as follows as of December&#160;31, 2021:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"></td><td style="width:84.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.446%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231" decimals="-3" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzEtMS0xLTEtMTg2ODk_5a9621a8-64a1-492e-9145-4b7e810c8554">4,687</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231" decimals="-3" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzItMS0xLTEtMTg2ODk_b4917fb0-af58-414d-8163-a6d5220c521d">5,625</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231" decimals="-3" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzMtMS0xLTEtMTg2ODk_7d0645c6-cf49-44cd-8674-aa3326757a7a">6,563</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231" decimals="-3" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzQtMS0xLTEtMTg2ODk_e17577bc-eaba-4bac-9d37-55bb6f3b73af">83,500</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231" decimals="-3" name="cpsi:LongTermDebtMaturityAfterYearFour" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzUtMS0xLTEtMTg2ODk_fd004a69-6b09-4e17-8a97-b071938db7f6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231" decimals="-3" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzYtMS0xLTEtMTg2ODk_719c01f4-2b70-43d5-9221-a0346bb3a4b8">100,375</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our credit facilities are secured pursuant to an Amended and Restated Pledge and Security Agreement, dated June 16, 2020, among the parties identified as obligors therein and Regions, as collateral agent, on a first priority basis by a security interest in substantially all of the tangible and intangible assets (subject to certain exceptions) of the Company and certain subsidiaries of the Company, as guarantors (collectively, the &#8220;Subsidiary Guarantors&#8221;), including certain registered intellectual property and the capital stock of certain of the Company&#8217;s direct and indirect subsidiaries. Our obligations under the Amended and Restated Credit Agreement are also guaranteed by the Subsidiary Guarantors.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">90</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i494e5452410546aab69ce5ee668524f1"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Amended and Restated Credit Agreement provides incremental facility capacity of $<ix:nonFraction unitRef="usd" contextRef="iab3e980571b74fb994aa2a980e2a354a_I20200616" decimals="INF" name="cpsi:LineofCreditFacilityAccordionFeatureIncreaseLimit" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzMwNjg_5dd67f7a-13ce-44ed-aae1-74b8897ad772">50</ix:nonFraction> million, subject to certain conditions. The Amended and Restated Credit Agreement includes a number of restrictive covenants that, among other things and in each case subject to certain exceptions and baskets, impose operating and financial restrictions on the Company and the Subsidiary Guarantors, including the ability to incur additional debt; incur liens and encumbrances; make certain restricted payments, including paying dividends on the Company's equity securities or payments to redeem, repurchase or retire the Company's equity securities (which are subject to our compliance, on a pro forma basis to give effect to the restricted payment, with the fixed charge coverage ratio and consolidated net leverage ratio described below); enter into certain restrictive agreements; make investments, loans and acquisitions; merge or consolidate with any other person; dispose of assets; enter into sale and leaseback transactions; engage in transactions with affiliates; and materially alter the business we conduct. The Amended and Restated Credit Agreement requires the Company to maintain a minimum fixed charge coverage ratio of <ix:nonFraction unitRef="number" contextRef="i39ea9db2d47d426f970476611d79347d_D20210101-20211231" decimals="INF" name="cpsi:LongTermDebtCovenantFixedChargeCoverageRatioMinimum" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQyMDc_410ec1c9-9d56-458b-9605-c0479b5c6209">1.25</ix:nonFraction>:1.00 throughout the duration of such agreement. Under the Amended and Restated Credit Agreement, the Company is required to comply with a maximum consolidated net leverage ratio of <ix:nonFraction unitRef="number" contextRef="i39ea9db2d47d426f970476611d79347d_D20210101-20211231" decimals="INF" name="cpsi:LongTermDebtCovenantConsolidatedLeverageRatioMaximum" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQzOTE_f442b25e-b4cd-4e84-b3a0-5748669d1c62">3.50</ix:nonFraction>:1.00. The Amended and Restated Credit Agreement also contains customary representations and warranties, affirmative covenants and events of default. We believe that we were in compliance with the covenants contained in the credit agreement as of December&#160;31, 2021.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Amended and Restated Credit Agreement requires the Company to mandatorily prepay our credit facilities with <ix:nonFraction unitRef="number" contextRef="i39ea9db2d47d426f970476611d79347d_D20210101-20211231" decimals="INF" name="cpsi:DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQ3NTY_ba47313d-417c-46dd-9ce4-fe2aa7be07ab">50</ix:nonFraction>% of excess cash flow (minus certain specified other payments). This mandatory prepayment requirement is applicable only if the Company's net leverage ratio exceeds <ix:nonFraction unitRef="number" contextRef="i39ea9db2d47d426f970476611d79347d_D20210101-20211231" decimals="INF" name="cpsi:LongTermDebtCovenantConsolidatedLeverageRatio" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQ5MjI_0c74eb89-bf87-4407-871c-15be9365cf57">2.50</ix:nonFraction>:1.00.  The Company is permitted to voluntarily prepay our credit facilities at any time without penalty, subject to customary &#8220;breakage&#8221; costs with respect to prepayments of LIBOR rate loans made on a day other than the last day of any applicable interest period. The excess cash flow mandatory prepayment requirement under the credit agreement did not result in a prepayment in 2021 or 2020.</span></div></ix:continuation><div id="i970301c9c50f467384dc14f962fc03da_175"></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">14. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzUvZnJhZzo0NWI2Njg5NzQ2YmM0Y2EzYjM5NzRiMzdjZDBjZjVkMi90ZXh0cmVnaW9uOjQ1YjY2ODk3NDZiYzRjYTNiMzk3NGIzN2NkMGNmNWQyXzE0MDc_bad1fa47-0ad5-4b80-ba2c-f7705e5f7434" continuedAt="ic976339435eb4d8d92ac8d3bfa52719b" escape="true">BENEFIT PLANS</ix:nonNumeric></span></div><ix:continuation id="ic976339435eb4d8d92ac8d3bfa52719b"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 1994, the Company adopted the CPSI 401(k) Retirement Plan that covers all eligible employees of the Company. The plan allows eligible employees to contribute up to <ix:nonFraction unitRef="number" contextRef="i61573d36a5d94d7c929e3392a7bb1697_D20210101-20211231" decimals="INF" name="cpsi:DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzUvZnJhZzo0NWI2Njg5NzQ2YmM0Y2EzYjM5NzRiMzdjZDBjZjVkMi90ZXh0cmVnaW9uOjQ1YjY2ODk3NDZiYzRjYTNiMzk3NGIzN2NkMGNmNWQyXzIzMg_9a1f9587-c743-4ed3-adaf-500a65504008">60</ix:nonFraction>% of their pre-tax earnings up to the statutory limit prescribed by the Internal Revenue Service. The Company matches a discretionary amount determined by the Board of Directors. The Company contributed approximately $<ix:nonFraction unitRef="usd" contextRef="i61573d36a5d94d7c929e3392a7bb1697_D20210101-20211231" decimals="-5" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzUvZnJhZzo0NWI2Njg5NzQ2YmM0Y2EzYjM5NzRiMzdjZDBjZjVkMi90ZXh0cmVnaW9uOjQ1YjY2ODk3NDZiYzRjYTNiMzk3NGIzN2NkMGNmNWQyXzQ1MA_a86b9b31-3e08-46bb-8f48-d7af1282d056">3.2</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="i5fb6373a3d534f41a85aaa20ffcfeeb3_D20200101-20201231" decimals="-5" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzUvZnJhZzo0NWI2Njg5NzQ2YmM0Y2EzYjM5NzRiMzdjZDBjZjVkMi90ZXh0cmVnaW9uOjQ1YjY2ODk3NDZiYzRjYTNiMzk3NGIzN2NkMGNmNWQyXzQ1NA_4d3f3383-b675-4f10-a76c-59e78ead40f7">3.2</ix:nonFraction> million, and $<ix:nonFraction unitRef="usd" contextRef="i85937983f2e544d8ba83df5d7af6737c_D20190101-20191231" decimals="-5" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzUvZnJhZzo0NWI2Njg5NzQ2YmM0Y2EzYjM5NzRiMzdjZDBjZjVkMi90ZXh0cmVnaW9uOjQ1YjY2ODk3NDZiYzRjYTNiMzk3NGIzN2NkMGNmNWQyXzQ2Mg_656d9f69-2bb7-43f2-b97c-c4493c4e6bf2">2.9</ix:nonFraction> million to the plan for the years ended December&#160;31, 2021, 2020 and 2019, respectively.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides certain health and medical benefits to eligible employees, their spouses and dependents pursuant to a benefit plan funded by the Company. Each participating employee contributes to the Company&#8217;s costs associated with such benefit plan. The Company&#8217;s obligation to fund this benefit plan and pay for these benefits is limited through the Company&#8217;s purchase of an insurance policy from a third-party insurer. The amount established as a reserve is intended to recognize the Company&#8217;s estimated obligations with respect to its payment of claims and claims incurred but not yet reported under the benefit plan. Management believes that the recorded liability for medical self-insurance at December&#160;31, 2021 and 2020 is adequate to cover the losses and claims incurred, but these reserves are based on estimates and the amount ultimately paid may be more or less than such estimates.</span></div></ix:continuation><div id="i970301c9c50f467384dc14f962fc03da_178"></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">15. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:LesseeOperatingLeasesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzExOTU_cfb90208-e7b4-4646-848a-f3c9406134ab" continuedAt="i66f70f09d3ef45bebf787bbab9ffa5f8" escape="true">OPERATING LEASES</ix:nonNumeric></span></div><ix:continuation id="i66f70f09d3ef45bebf787bbab9ffa5f8" continuedAt="i6c504824c1d94ef4a3446f714bfda38a"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases office space in various locations in Alabama, Pennsylvania, Minnesota, Maryland, and Mississippi. These leases have terms expiring from 2022 through 2030 but do contain optional extension terms. Leases with an initial term of 12 months or less are not recorded on the balance sheet. We recognize lease expense on a straight-line basis over the lease term.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 28, 2021, the Company terminated its lease agreement for approximately <ix:nonFraction unitRef="sqft" contextRef="i2c75fe23fc704fd29b033637c890a68a_I20210728" decimals="0" name="us-gaap:AreaOfRealEstateProperty" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzEwOTk1MTE2Mjk1OTM_df783d69-570d-49b5-8725-6c6074139dc9">45,000</ix:nonFraction> square feet of office space in Fairhope, Alabama. Pursuant to a Termination of Lease Agreement dated July 28, 2021, the Company paid $<ix:nonFraction unitRef="usd" contextRef="i77453d5f51a04b3a88ce146231aa3865_D20210728-20210728" decimals="-5" name="cpsi:PaymentsOnEarlyTerminationOfLease" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzEwOTk1MTE2Mjk2MDE_b20309c3-6e59-454f-9016-92e44c3559d2">0.9</ix:nonFraction>&#160;million to the landlord as consideration for the early termination.  In connection with the lease termination, the Company derecognized the assets and liabilities associated with the operating lease and recorded a $<ix:nonFraction unitRef="usd" contextRef="i77453d5f51a04b3a88ce146231aa3865_D20210728-20210728" decimals="-5" sign="-" name="us-gaap:GainLossOnTerminationOfLease" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzEwOTk1MTE2Mjk2MTU_2251d3bb-10ad-4880-a40c-92096341ba1e">0.3</ix:nonFraction>&#160;million loss on the disposal of leasehold improvements.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">91</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i6c504824c1d94ef4a3446f714bfda38a"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="cpsi:LeaseSupplementalBalanceSheetInformationTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzExOTY_9c1efc77-952c-4665-8f17-74d5fd40673a" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental balance sheet information related to operating leases is as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"></td><td style="width:86.172%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.628%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease assets</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzItMS0xLTEtMTg2ODk_b11be657-ce71-49c0-b2b6-c55d913a220b">7,097</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_11044054-b20b-4e64-84db-2255f5137354"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_a06dcfd3-4852-44f1-b934-aaacbec8f4c5">Other accrued liabilities</span></span></span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMS0xLTEtMTg2ODk_fa3aef83-c5dc-4f1d-8437-a14d85b471cc">1,592</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities, net of current portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzUtMS0xLTEtMTg2ODk_c971dbfc-237d-40bd-827b-fced12503404">5,505</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating lease liabilities</span></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzYtMS0xLTEtMTg2ODk_8c0464a1-56dc-4b6f-9675-7b3c95279c2b">7,097</ix:nonFraction>&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average remaining lease term in years</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzctMS0xLTEtMTg2ODk_6d3405d8-dfef-491d-a32c-729b2c7a0cd6">6</ix:nonNumeric></span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average discount rate</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="3" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzgtMS0xLTEtMTg2ODk_7a2b8435-8d00-4701-a63f-07b1c325a5bc">4.6</ix:nonFraction>%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></ix:nonNumeric></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. We used the incremental borrowing rate on January 1, 2019, for operating leases that commenced prior to that date.</span></div><div style="margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzExOTc_289584e9-85e0-4c1a-b9d8-8a1eb37c3092" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The future minimum lease payments payable under these operating leases subsequent to December&#160;31, 2021 are as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"></td><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzEtMS0xLTEtMTg2ODk_2879e74e-41d9-4f90-8dba-6eb9840196c6">1,592</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzItMS0xLTEtMTg2ODk_1b5c3901-3a65-4d62-9d1e-f962bf1ec9e0">1,520</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzMtMS0xLTEtMTg2ODk_be31b997-508a-4485-8945-4080d4fd0572">1,411</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzQtMS0xLTEtMTg2ODk_3607b004-7df4-4480-929d-e841c31f9400">1,202</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzUtMS0xLTEtMTg2ODk_22d5cd39-e3b1-4f64-9f1b-c91b095e58d4">1,225</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzYtMS0xLTEtMTg2ODk_34d3efae-d7a3-489b-9e17-b4f7434857f1">1,115</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzctMS0xLTEtMTg2ODk_3b2e66a1-9293-4579-81fb-18c8a7133a94">8,065</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzgtMS0xLTEtMTg2ODk_a659a44b-85d0-4f84-977e-a18dc3fa8912">968</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzktMS0xLTEtMTg2ODk_7f10897a-d7ad-466d-8a8b-fcf3107fb19d">7,097</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total rent expense for the years ended December&#160;31, 2021, 2020, and 2019 was $<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-5" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2Xzk5NA_1181ca52-a679-4722-bdc0-8f9c8514f72a">1.8</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-5" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2Xzk5OA_37c4b213-df7f-4603-8bad-857080306164">1.7</ix:nonFraction>&#160;million, and $<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-5" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzEwMDY_283962a4-af09-4029-b031-97947adb7d64">2.2</ix:nonFraction>&#160;million, respectively.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total cash paid for amounts included in the measurement of lease liabilities within operating cash flows from operating leases for the year ended December 31, 2021 was $<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-5" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzExOTI_23e53730-45a3-4dd6-af89-aa4c37787eff">1.8</ix:nonFraction>&#160;million.</span></div></ix:continuation><div id="i970301c9c50f467384dc14f962fc03da_184"></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">16. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODQvZnJhZzo3MTlmN2M1NGExNmE0MGU2YmFkZWRmZGRmYTM3YzRjYS90ZXh0cmVnaW9uOjcxOWY3YzU0YTE2YTQwZTZiYWRlZGZkZGZhMzdjNGNhXzI5OA_34747c8d-6ce6-40b8-b4f0-1f8b60dc828b" continuedAt="iaafc95f2ca0743838c909c6aa856ebec" escape="true">COMMITMENTS AND CONTINGENCIES</ix:nonNumeric></span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="iaafc95f2ca0743838c909c6aa856ebec">From time to time, the Company is involved in routine litigation that arises in the ordinary course of business. Management does not believe it is reasonably possible that such matters will have a material adverse effect on the Company&#8217;s financial statements.</ix:continuation></span></div><div id="i970301c9c50f467384dc14f962fc03da_187"></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">17. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:FairValueDisclosuresTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90ZXh0cmVnaW9uOmIzYWIxMGVhYThmYzQ0ZTlhMDdmYzljZWJkZmM4ODAyXzExMjM_1a5e2715-2524-4e49-b699-48df2f033c59" continuedAt="ia5f2ec08849443a7969019cedf96c79f" escape="true">FAIR VALUE</ix:nonNumeric></span></div><ix:continuation id="ia5f2ec08849443a7969019cedf96c79f" continuedAt="ifbcd7f35152a4d63b12478bd9da724d9"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90ZXh0cmVnaW9uOmIzYWIxMGVhYThmYzQ0ZTlhMDdmYzljZWJkZmM4ODAyXzExMjQ_a0d7165d-46aa-4111-a1f6-996a91bfe3cf" escape="true"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 820, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurements and Disclosures,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> establishes a framework for measuring fair value and expands financial statement disclosures about fair value measurements. Fair value is the price that would be received to sell an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants at the measurement date. The Codification topic does not require any new fair value measurements, but rather applies to all other accounting pronouncements that require or permit fair value measurements. The Codification topic requires that assets and liabilities carried at fair value be classified and disclosed in one of the following three categories:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1: Quoted market prices in active markets for identical assets or liabilities.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2: Observable market-based inputs or unobservable inputs that are corroborated by market data.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3: Unobservable inputs that are not corroborated by market data.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">92</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="ifbcd7f35152a4d63b12478bd9da724d9"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, we measured the fair value of contingent consideration that represents the potential earnout incentive for TruCode&#8217;s former equity holders.  We estimated the fair value of the contingent consideration based on the probability of TruCode meeting EBITDA targets (subject to certain pro-forma adjustments). We did not have any other instruments that required fair value measurement as of December 31, 2021.</span></div><div style="padding-left:18pt"><span><br/></span></div><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90ZXh0cmVnaW9uOmIzYWIxMGVhYThmYzQ0ZTlhMDdmYzljZWJkZmM4ODAyXzEwOTk1MTE2MzA3NDQ_24b6b104-81b2-4a82-9277-93c6c69a3731" escape="true"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90ZXh0cmVnaW9uOmIzYWIxMGVhYThmYzQ0ZTlhMDdmYzljZWJkZmM4ODAyXzEwOTk1MTE2MzA3NDY_4573aa7a-160a-413a-9310-ee161b588a33" escape="true"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the carrying amount and fair value of the contingent consideration at December 31, 2021:</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"><tr><td style="width:1.0%"></td><td style="width:23.817%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.236%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.625%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.886%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.625%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.886%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.625%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.200%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value at December 31, 2021 Using</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Carrying Amount at 12/31/21</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Quoted Price in Active Markets for Identical Assets (Level 1)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Significant Other Observable Inputs (Level 2)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Significant Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Description</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent Consideration</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i74355865c0724ca39a307223f41d7961_I20211231" decimals="-3" name="us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzMtMS0xLTEtMjQzNjI_d98208c9-4acf-4d29-bb26-ab1222905052">2,500</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia2ae05a7cfd84775a807baf40cc36dcb_I20211231" decimals="-3" name="us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzMtMy0xLTEtMjQzNjQ_e0d59dfc-9b00-43ce-b6c0-07d1cb5225ad">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8d38aef87c0344f49223a051136f1c98_I20211231" decimals="-3" name="us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzMtNS0xLTEtMjQzNjY_62537669-6708-430a-9497-3092653b4651">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie43da8c2275c495190a48135ad8f7d2e_I20211231" decimals="-3" name="us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzMtNy0xLTEtMjQzNjg_4fd7ebdc-8000-43a6-be42-6845ceaea48d">2,500</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i74355865c0724ca39a307223f41d7961_I20211231" decimals="-3" name="us-gaap:EquityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzQtMS0xLTEtMjQzNjI_c584dc37-39a4-469a-999a-866978e13ffe">2,500</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia2ae05a7cfd84775a807baf40cc36dcb_I20211231" decimals="-3" name="us-gaap:EquityFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzQtMy0xLTEtMjQzNjQ_fdea9c64-a944-483d-8025-09d11ef73916">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8d38aef87c0344f49223a051136f1c98_I20211231" decimals="-3" name="us-gaap:EquityFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzQtNS0xLTEtMjQzNjY_c1cb3806-ef3e-45bb-966e-e3cc703bcbc8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie43da8c2275c495190a48135ad8f7d2e_I20211231" decimals="-3" name="us-gaap:EquityFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzQtNy0xLTEtMjQzNjg_3a08fdad-e22c-4ba7-bb4c-ed1e02df623b">2,500</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:nonNumeric></ix:continuation><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">93</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_190"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">18. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:SegmentReportingDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2XzEwNjQ_f504c068-3001-4395-895d-25506ad3b69c" continuedAt="ia8cee71cfdc34c59a4247dd7d0d80151" escape="true">SEGMENT REPORTING</ix:nonNumeric></span></div><ix:continuation id="ia8cee71cfdc34c59a4247dd7d0d80151"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our chief operating decision makers ("CODM") utilize <ix:nonFraction unitRef="segment" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="INF" name="us-gaap:NumberOfOperatingSegments" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2Xzg0_5bf8c202-401f-42d9-b2c4-04a22670919c">three</ix:nonFraction> operating segments, "Acute Care EHR", "Post-acute Care EHR" and "TruBridge", based on our <ix:nonFraction unitRef="segment" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="INF" name="us-gaap:NumberOfOperatingSegments" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2XzE3Nw_b53cd820-c7e3-4eb0-9d15-08d5de5477f7">three</ix:nonFraction> distinct business units with unique market dynamics and opportunities. Revenues and costs of sales are primarily derived from the provision of services and sales of our proprietary software, and our CODM assess the performance of these <ix:nonFraction unitRef="segment" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="INF" name="us-gaap:NumberOfOperatingSegments" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2XzQxNg_86fbd966-104f-4e61-8245-00207e7b17de">three</ix:nonFraction> segments at the gross profit level. Operating expenses and items such as interest, income tax, capital expenditures and total assets are managed at a consolidated level and thus are not included in our operating segment disclosures. Our CODM group is comprised of the Chief Executive Officer, Chief Growth Officer, Chief Operating Officer, and Chief Financial Officer. Accounting policies for each of the reportable segments are the same as those used on a consolidated basis. </span></div><div style="margin-top:9pt;padding-left:18pt"><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2XzEwNjY_4f35fc75-4eb9-4153-ad0d-d8479e3f2abd" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a summary of the revenues, cost of sales, and gross profit of our <ix:nonFraction unitRef="segment" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="INF" name="us-gaap:NumberOfOperatingSegments" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2Xzk5Mg_6f5e4cbf-980e-4662-b383-1042fd120a27"><ix:nonFraction unitRef="segment" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="INF" name="us-gaap:NumberOfOperatingSegments" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2Xzk5Mg_cb8a05bc-67fb-4e26-b265-fdc7d6e3c7d0"><ix:nonFraction unitRef="segment" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="INF" name="us-gaap:NumberOfOperatingSegments" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2Xzk5Mg_f17bae4d-05a2-4a60-bacd-c067442d02f2">three</ix:nonFraction></ix:nonFraction></ix:nonFraction> operating segments for the years ended December 31, 2021, 2020, and 2019:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"></td><td style="width:59.506%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.172%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.012%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.172%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.012%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenues:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recurring revenue</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb792a6c64fe49a1a89138698dc99a5f_D20210101-20211231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzQtMS0xLTEtMTg2ODk_5a7f447f-3b9d-4116-a430-21df3eced403">108,440</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i61ca0207d5aa4abc8d4e41af984bd82e_D20200101-20201231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzQtMy0xLTEtMTg2ODk_06df08f0-25a3-4b9d-b41f-225b0e5d53c2">105,597</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49e87857fd2c41518c50532cff87363d_D20190101-20191231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzQtNS0xLTEtMTg2ODk_cc4d49af-e632-4974-8005-d520e1f2d79a">109,046</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-recurring revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifae67c79998f42aeb7021dd210dba092_D20210101-20211231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzUtMS0xLTEtMTg2ODk_213a805b-b100-44ef-a78b-de66167e7452">16,939</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie82ebf9b6c364ff78d02b15b49c50681_D20200101-20201231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzUtMy0xLTEtMTg2ODk_d68f0f52-c9e7-493c-a0dd-45649fc3b197">29,173</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if51be33f23954516a3cf10a82447fa94_D20190101-20191231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzUtNS0xLTEtMTg2ODk_653cd5c5-84c5-4d10-b773-f8aa6a440cba">35,028</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Acute Care EHR revenue</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i396944ff3ba942049790a47bde82ea44_D20210101-20211231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzYtMS0xLTEtMTg2ODk_6591c3da-c560-414b-a53d-38991c8bbf2e">125,379</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8add1fe0b7094bfea04a75a643d1cc19_D20200101-20201231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzYtMy0xLTEtMTg2ODk_88df423f-fc1c-4bb1-bfb1-db1bd9810031">134,770</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i68250114a9cb4fa1945033918d2365fe_D20190101-20191231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzYtNS0xLTEtMTg2ODk_15a20337-f502-4a8d-99e2-6fce392fe20f">144,074</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recurring revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i795e095788164b229ee78021c19dcbaf_D20210101-20211231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzgtMS0xLTEtMTg2ODk_a930c7bf-6b83-4130-bbba-feffaf8529dd">16,472</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i20a7abbd8d894bf6968952740024a006_D20200101-20201231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzgtMy0xLTEtMTg2ODk_1298f992-2657-4971-9018-f922f594ec7f">16,272</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic31376515a1a49d38d3e227d452e1acd_D20190101-20191231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzgtNS0xLTEtMTg2ODk_4789175c-4dcd-49f7-a7e8-8e94be4f20d1">17,466</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-recurring revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9fd71d6876134adcacebca405a9ef3d7_D20210101-20211231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzktMS0xLTEtMTg2ODk_126495ff-81ce-43dc-8f7f-21160017f0aa">1,258</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6d2acb701ee14268961a5e4cbd745884_D20200101-20201231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzktMy0xLTEtMTg2ODk_4e12236a-31f9-4c0a-8fd5-9f00c1249cf6">1,912</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if98b70a755f34fe38d4e528bbdc52f89_D20190101-20191231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzktNS0xLTEtMTg2ODk_a8cd1d95-5e8a-40bc-ae58-990cc121cdba">3,812</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Post-acute Care EHR revenue</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEwLTEtMS0xLTE4Njg5_fcae0104-5c71-4b16-bd29-738973560bc5">17,730</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEwLTMtMS0xLTE4Njg5_22a52f2e-55bc-4897-b0a6-374450bfaa21">18,184</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEwLTUtMS0xLTE4Njg5_0219b245-6510-46e0-81a1-857163c236d8">21,278</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i77ec980fd65e483185800534cade882c_D20210101-20211231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzExLTEtMS0xLTE4Njg5_8c9f867e-a763-4c55-909c-b02646ec901d">137,520</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifc0be87e46db43a299ea815acfaf03f6_D20200101-20201231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzExLTMtMS0xLTE4Njg5_ca8ee225-1790-49f6-88bb-b475ad0d55ee">111,534</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic0e5871eb08e4d5cb61983f5950b46a6_D20190101-20191231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzExLTUtMS0xLTE4Njg5_1859c7cf-6eeb-43af-bc84-0f3e6a6daf9a">109,282</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEyLTEtMS0xLTE4Njg5_70e1dddb-fbc2-4259-8e85-08eb0dd1e6e2">280,629</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEyLTMtMS0xLTE4Njg5_8781ac34-5246-4908-8c54-01a3a004b575">264,488</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEyLTUtMS0xLTE4Njg5_dbb80d55-4aab-42f0-b0de-47f31f84e44d">274,634</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i396944ff3ba942049790a47bde82ea44_D20210101-20211231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE1LTEtMS0xLTE4Njg5_88c88350-9563-4caf-811f-c0eab2b412f4">65,776</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8add1fe0b7094bfea04a75a643d1cc19_D20200101-20201231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE1LTMtMS0xLTE4Njg5_b863f657-9d2d-4fc5-ae88-e9d0072cad1d">64,540</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i68250114a9cb4fa1945033918d2365fe_D20190101-20191231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE1LTUtMS0xLTE4Njg5_3909ad50-891a-4ef8-b3b9-e1cf4ef731be">68,569</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE2LTEtMS0xLTE4Njg5_c1553f2c-3d93-49ae-bbc9-fb7f12ed5875">4,888</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE2LTMtMS0xLTE4Njg5_eacad79c-b585-4fe4-bb23-b75c6bf85116">4,821</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE2LTUtMS0xLTE4Njg5_b93bac3b-6c70-4a67-aac1-52b1420d5154">5,303</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i77ec980fd65e483185800534cade882c_D20210101-20211231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE3LTEtMS0xLTE4Njg5_6fc37878-437b-4e77-aa7d-0fc1aa24b833">69,083</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifc0be87e46db43a299ea815acfaf03f6_D20200101-20201231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE3LTMtMS0xLTE4Njg5_e9ce5e48-4e79-41d3-a699-a65f0d0b2721">58,881</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic0e5871eb08e4d5cb61983f5950b46a6_D20190101-20191231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE3LTUtMS0xLTE4Njg5_973941f1-1165-4266-b9ed-c33d991b7ec2">56,617</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cost of sales</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE4LTEtMS0xLTE4Njg5_8880355a-36ef-4199-aba9-b3013722b8f4">139,747</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE4LTMtMS0xLTE4Njg5_d5721b30-2cba-4013-a976-0591ff401bff">128,242</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE4LTUtMS0xLTE4Njg5_582cbf26-594a-4cb6-acfc-d3484d364534">130,489</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i396944ff3ba942049790a47bde82ea44_D20210101-20211231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIxLTEtMS0xLTE4Njg5_7cb84f39-042b-4657-abff-0e3e508f109f">59,603</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8add1fe0b7094bfea04a75a643d1cc19_D20200101-20201231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIxLTMtMS0xLTE4Njg5_cba40c6f-0650-4316-9ee3-29be99346073">70,230</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i68250114a9cb4fa1945033918d2365fe_D20190101-20191231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIxLTUtMS0xLTE4Njg5_8fb1cdcc-c455-4e88-a609-fbee58a371e6">75,505</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIyLTEtMS0xLTE4Njg5_59547001-2c8e-4b20-8dfa-9fed008b6e90">12,842</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIyLTMtMS0xLTE4Njg5_b2b1f497-9956-44ea-95c3-e80918e3af9a">13,363</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIyLTUtMS0xLTE4Njg5_a36195f9-39bb-4e2c-85d1-5a1726791aa7">15,975</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i77ec980fd65e483185800534cade882c_D20210101-20211231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIzLTEtMS0xLTE4Njg5_1f4be3e2-d7de-4575-90c1-68f807d0341a">68,437</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifc0be87e46db43a299ea815acfaf03f6_D20200101-20201231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIzLTMtMS0xLTE4Njg5_8f6c295a-e740-4147-a905-6c833638f1b6">52,653</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic0e5871eb08e4d5cb61983f5950b46a6_D20190101-20191231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIzLTUtMS0xLTE4Njg5_cc9982d1-13c2-44c9-bdbf-085d696d6040">52,665</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI0LTEtMS0xLTE4Njg5_8924e894-0ae9-4975-9253-8fa7d72d28b0">140,882</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI0LTMtMS0xLTE4Njg5_c7c71eef-f4df-4538-b1cf-006484b88d00">136,246</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI0LTUtMS0xLTE4Njg5_7b98105d-86a7-4c16-83ff-a662ddaf98d7">144,145</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate operating expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i307fc3d65df74d78b8f27d9a56d2a6d2_D20210101-20211231" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI2LTEtMS0xLTE4Njg5_af17a451-c9fa-4e55-b384-03ed23cd4c0b">116,175</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="idefb735c8ded4a32bde065be3f7e28fe_D20200101-20201231" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI2LTMtMS0xLTE4Njg5_1fa983a2-8e5f-4d0c-9786-cde8649635fa">115,192</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i49510c27dc9a48ebab0f4bdf515a6d9a_D20190101-20191231" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI2LTUtMS0xLTE4Njg5_e0e27e1a-2d81-4d41-ae8e-ceddf80781b5">119,562</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income </span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:OtherNonoperatingIncome" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI3LTEtMS0xLTE4Njg5_0297363c-4b42-4bc9-9600-4097a8e065c3">1,529</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:OtherNonoperatingIncome" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI3LTMtMS0xLTE4Njg5_988948e8-d1c2-42b0-a20a-c8941127e113">1,494</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:OtherNonoperatingIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI3LTUtMS0xLTE4Njg5_443cfd91-8a8c-4184-8e96-e7b02aacdf92">807</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gain on contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI4LTEtMS0xLTE4Njg5_dcae09ae-a4a4-4fcd-938c-a0d25f9eb51e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI4LTMtMS0xLTE4Njg5_416799a8-7edc-48a5-9d83-c759b999b44c">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI4LTUtMS0xLTE4Njg5_50ef53c6-811f-40d7-80f0-2b56e6ecd05c">5,000</ix:nonFraction>&#160;</span></td><td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss on extinguishment of debt</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI5LTEtMS0xLTE4Njg5_343c2625-02c0-4b84-945c-c88cdfc59b30">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI5LTMtMS0xLTE4Njg5_8d389e1f-ab87-4bfd-92b1-37c96430a262">202</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI5LTUtMS0xLTE4Njg5_0fa900be-e985-4be7-ad63-e3d6e499afd3">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMwLTEtMS0xLTE4Njg5_817b123e-21d3-4c48-b0f8-4ccc6ade686c">3,160</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMwLTMtMS0xLTE4Njg5_99d1196f-4198-4a7d-832c-ca438315ef99">3,562</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:InterestExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMwLTUtMS0xLTE4Njg5_813f9d1b-e37b-447d-9965-6174f51c13b9">6,694</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before taxes</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMxLTEtMS0xLTE4Njg5_55b5e5a6-b6f1-4eac-a383-daeb072b70c8">23,076</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMxLTMtMS0xLTE4Njg5_0cab11eb-93a0-44db-a5ae-4ee8247807f4">18,784</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMxLTUtMS0xLTE4Njg5_85687764-1e7a-4790-a335-b49bdcd08212">23,696</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div></ix:continuation><div><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">94</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_193"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:9pt;margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">19. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="us-gaap:SubsequentEventsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTMvZnJhZzo2NjMzMjhkMjUxZTk0MmI0ODdhNDkyNjMyOGRmY2E4MS90ZXh0cmVnaW9uOjY2MzMyOGQyNTFlOTQyYjQ4N2E0OTI2MzI4ZGZjYTgxXzEyMTQ_967c1c7f-b730-476f-9ec6-76a8fe7d91e9" continuedAt="i114f94554c704acb8b06e9d2c7d4ba05" escape="true">SUBSEQUENT EVENTS</ix:nonNumeric></span></div><ix:continuation id="i114f94554c704acb8b06e9d2c7d4ba05"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 1, 2022, the Company acquired all of the assets and liabilities of Healthcare Resource Group, Inc., a Washington corporation ("HRG"), pursuant to a Stock Purchase Agreement dated March 1, 2022. Based in Spokane, Washington, HRG is a leading provider of customized RCM solutions and consulting services that enable hospitals and clinics to improve efficiency, profitability, and patient satisfaction. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Stock Purchase Agreement provides for a total purchase price of $<ix:nonFraction unitRef="usd" contextRef="i8058d01dccac498f872f7e6ff309021b_D20220301-20220301" decimals="-5" name="us-gaap:BusinessCombinationConsiderationTransferred1" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTMvZnJhZzo2NjMzMjhkMjUxZTk0MmI0ODdhNDkyNjMyOGRmY2E4MS90ZXh0cmVnaW9uOjY2MzMyOGQyNTFlOTQyYjQ4N2E0OTI2MzI4ZGZjYTgxXzEwOTk1MTE2MzE4MzU_3163317f-8c8e-4b8e-b3ce-a2bd125d7d04">44.0</ix:nonFraction>&#160;million, subject to various upward or downward adjustments, including for working capital, cash, indebtedness, and transaction expenses of HRG. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to the proximity of the acquisition date to the Company's filing of its Annual Report on Form 10-K for the year ended December 31, 2021, the initial accounting for the HRG business combination is incomplete, and therefore the Company is unable to disclose certain information required by ASC 805, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Business Combinations, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">including the provisional amounts recognized as of the acquisition date for each major class of assets acquired, liabilities assumed and goodwill. A preliminary valuation assessment is expected to be provided on our quarterly report on Form 10-Q for the three month ended March 31, 2022.</span></div></ix:continuation><div id="i970301c9c50f467384dc14f962fc03da_199"></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">20. &#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="cpsi:CARESActTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTkvZnJhZzo0MzY2ZDVmNDFhY2Q0MDlkYTI3MjUyNzI1ODgzYmVjMC90ZXh0cmVnaW9uOjQzNjZkNWY0MWFjZDQwOWRhMjcyNTI3MjU4ODNiZWMwXzI5MjQ_1e911f3c-3c4e-431b-9424-15242b2d16b1" continuedAt="i272aa5db64544b4fa0803d6adeb887d1" escape="true">COVID-19 PANDEMIC </ix:nonNumeric></span></div><ix:continuation id="i272aa5db64544b4fa0803d6adeb887d1" continuedAt="ibf3853eeb3fd4d288e82e014ee2f3843"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2019, a novel coronavirus disease ("COVID-19") was reported, and in January 2020, the World Health Organization ("WHO") declared it a Public Health Emergency of International Concern. In February 2020, the WHO raised its assessment of the COVID-19 threat from high to very high at a global level due to the continued increase in the number of cases and affected countries, and in March 2020, the WHO characterized COVID-19 as a pandemic and the President of the United States declared the COVID-19 outbreak a national emergency.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The COVID-19 pandemic has caused, and is continuing to cause, severe economic, market, and other disruptions to the U.S. and global economies. The Company began experiencing adverse business conditions beginning in the latter half of March 2020, which have persisted through the date of this report, including the results of operations for the year ended December 31, 2021. Most notably:</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Travel restrictions and social distancing protocols have created an additional challenge to our on-site implementation and sales teams. Although we have shown success with remote implementation models and our sales representatives are engaging in remote contact with existing customers and prospects, these restrictions and protocols are expected to continue to have an incrementally negative impact on implementation revenues and new sales generation.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Although patient volumes at our client hospitals have largely recovered from the severe declines in such volumes experienced during much of 2020, there can be no guarantee as to the permanence of this recovery. As the overwhelming majority of TruBridge revenues are directly or indirectly correlated with client patient volumes, any further reduction in these patient volumes may negatively impact our related revenues.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Although we have experienced no notable disruption to our operating cash flows through the date of this report,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the aforementioned limitations on travel and decreased client patient volumes increase the risk of decreased cash collections from our customers as long as these conditions persist. Such decreases in cash collections could be further negatively impacted by the amount and extent to which the pandemic impacts the financial condition and liquidity of our customers.</span></div></ix:continuation><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ibf3853eeb3fd4d288e82e014ee2f3843">Despite these adverse business conditions, the pandemic has had a muted impact on our financial condition as of December 31, 2021. However, the ultimate impact of COVID-19 on our operations and financial performance in future periods remains uncertain and will depend on future pandemic related developments, including the duration of the pandemic, any potential subsequent waves of COVID-19 infection, emergence of new variants, the effectiveness, distribution, and acceptance of COVID-19 vaccines, and related government actions to prevent and manage disease spread, all of which are uncertain and cannot be predicted. Consequently, the ongoing pandemic could result in a material impact to the Company's future financial position, results of operations, cash flows and liquidity.</ix:continuation> </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">95</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_202"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SCHEDULE II</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">COMPUTER PROGRAMS AND SYSTEMS, INC.</span></div><ix:nonNumeric contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231" name="srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90ZXh0cmVnaW9uOjQyNmRmOTNkZWM0OTRlNzE5OTZmNmJkY2Y0YTMyMzE1XzM0Mg_e8e54cc2-1b14-48dd-a319-37a6e1bdaa3a" escape="true"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">VALUATION AND QUALIFYING ACCOUNTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"><tr><td style="width:1.0%"></td><td style="width:31.790%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.731%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.731%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.731%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.731%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.738%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Description</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Balance at</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">beginning of</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">period</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Additions</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">charged&#160;to&#160;cost</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">and expenses (1)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Deductions (2)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Balance&#160;at&#160;end</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">of period</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowance for credit losses deducted from accounts receivable in the balance sheet</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f318f4174c44b08bf9c6fd34db63b56_I20181231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzEtMy0xLTEtMTg2ODk_fc77e40d-e5b2-40fd-beb7-af6edd379189">2,124</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3bcc10c17f7d43b0ac51136bd8956f60_D20190101-20191231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzEtNS0xLTEtMTg2ODk_24b213dc-0145-4649-a802-1089b7d4c5ee">1,378</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3bcc10c17f7d43b0ac51136bd8956f60_D20190101-20191231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzEtNy0xLTEtMTg2ODk_003aea88-e21c-4774-8b5c-140df9e1741f">1,424</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic5469b8ecd8f494a87edad3b2ac4b93a_I20191231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzEtOS0xLTEtMTg2ODk_f0f1e47f-0f56-4c22-94e0-cb22e550c9da">2,078</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic5469b8ecd8f494a87edad3b2ac4b93a_I20191231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzItMy0xLTEtMTg2ODk_ed925fdd-d261-4ec6-9f98-e758f9192c67">2,078</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie2399265c8674996aa82fdb87d6fe9ee_D20200101-20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzItNS0xLTEtMTg2ODk_3af5aa13-0293-49ac-9b39-b1242597d754">2,825</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie2399265c8674996aa82fdb87d6fe9ee_D20200101-20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzItNy0xLTEtMTg2ODk_6350a5dd-7cec-45c4-8677-9a67f7a95971">3,202</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iafa093836b8a4b1894776ab8850014fe_I20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzItOS0xLTEtMTg2ODk_bdd6bc20-d4fc-4f42-9921-3403b87cb6fd">1,701</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iafa093836b8a4b1894776ab8850014fe_I20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzMtMy0xLTEtMTg2ODk_ccef913e-449f-431c-a049-80852c148b9b">1,701</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee586bdc51aa4f27a0306ae06003ea57_D20210101-20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzMtNS0xLTEtMTg2ODk_b98b89cd-47f3-4d74-867d-55a2cf1bcbc5">2,111</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iee586bdc51aa4f27a0306ae06003ea57_D20210101-20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzMtNy0xLTEtMTg2ODk_182f2132-4221-4268-9145-ace9c20f9fca">1,986</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if5c511157e3c4b42ac89d7789ab56c81_I20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzMtOS0xLTEtMTg2ODk_3f45a018-b2a2-4f2f-81d4-85fb229ffc73">1,826</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)   Adjustments to allowance for change in estimates.</span></div><div style="padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)   Uncollectible accounts written off, net of recoveries.</span></div><div style="padding-left:13.5pt"><span><br/></span></div><div style="padding-left:6.75pt;padding-right:6.75pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"><tr><td style="width:1.0%"></td><td style="width:31.790%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.731%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.731%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.731%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.731%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.537%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.738%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Description</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Balance at</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">beginning&#160;of</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">period</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Additions</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">charged&#160;to&#160;cost</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">and expenses (1)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Deductions (2)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Balance&#160;at&#160;end</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">of period</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowance for credit losses deducted from financing receivables in the balance sheet</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8e26f510fe624e779ee96e79177b2314_I20181231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzEtMy0xLTEtMTg2ODk_681bc7bc-92e1-42b6-92ba-3427dde7f2b5">2,567</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9c5ff7a4d8450f8f48e1de56002971_D20190101-20191231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzEtNS0xLTEtMTg2ODk_b0805996-3ae2-4cb9-9c72-3d0c6f944078">970</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9c5ff7a4d8450f8f48e1de56002971_D20190101-20191231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzEtNy0xLTEtMTg2ODk_f68cd101-36c7-404c-8099-bd7e1b12c87f">566</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5e2f81ad4914429aa8c24f6aff455565_I20191231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzEtOS0xLTEtMTg2ODk_c6bf4723-a65b-4d8a-b0cd-a601bd9c7ffc">2,971</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5e2f81ad4914429aa8c24f6aff455565_I20191231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzItMy0xLTEtMTg2ODk_0e537c61-2a0e-455f-b3bd-9c6402d084bb">2,971</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i835f5ffe75af457f82d7be967e4038d6_D20200101-20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzItNS0xLTEtMTg2ODk_cffff9a9-85cf-450c-b2a6-4a64a3b1f5d6">1,632</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i835f5ffe75af457f82d7be967e4038d6_D20200101-20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzItNy0xLTEtMTg2ODk_e4fb0e17-4b41-444b-b3d6-16b810106542">3,114</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7a9283acfbf843a6afb93ca0a5acd410_I20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzItOS0xLTEtMTg2ODk_157a0c83-e47c-4f19-8dc5-8d70d25edb5b">1,489</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7a9283acfbf843a6afb93ca0a5acd410_I20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzMtMy0xLTEtMTg2ODk_5f2fa0bb-b912-40e5-b95e-2eda1e245f23">1,489</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if4c975bd975c4feb9e38c4503703ce63_D20210101-20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzMtNS0xLTEtMTg2ODk_15d9511a-4d90-4900-8531-8de6e1f0dfe1">481</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if4c975bd975c4feb9e38c4503703ce63_D20210101-20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzMtNy0xLTEtMTg2ODk_88a08c10-24e0-4483-91e4-9b0635518f56">1,248</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if06dd002edf2474db0d4d72d9d89a505_I20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzMtOS0xLTEtMTg2ODk_8a4d8155-1625-42bd-afa9-9efa80aa1ce8">722</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)   Adjustments to allowance for change in estimates.</span></div><div style="padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)   Uncollectible accounts written off, net of recoveries.</span></div></ix:nonNumeric><div style="padding-left:13.5pt"><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_205"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;9.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</span></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_208"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;9A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">CONTROLS AND PROCEDURES.</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Evaluation of Disclosure Controls and Procedures</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We maintain disclosure controls and procedures that are designed to provide reasonable assurance that the information required to be disclosed by us in reports that we file or submit under the Securities Exchange Act of 1934, as amended (the "Exchange Act"), is recorded, processed, summarized and reported within the time periods specified in the rules and forms promulgated by the Securities and Exchange Commission, and that such information is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosure. Because of the inherent limitations to the effectiveness of any system of disclosure controls and procedures, no evaluation of disclosure controls and procedures can provide absolute assurance that all control issues and instances of fraud, if any, with a company have been prevented or detected on a timely basis. Even disclosure controls and procedures determined to be effective can only provide reasonable assurance that their objectives are achieved.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of the end of the period covered by this report, we carried out an evaluation, under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, of the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Exchange Act Rule 13a-15(e)) pursuant to Rule 13a-15 of the Exchange Act. Based upon that evaluation, our Chief Executive Officer and Chief Financial Officer </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">concluded that our disclosure controls and procedures are effective at the reasonable assurance level.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Changes in Internal Control over Financial Reporting</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 12, 2021, we acquired TruCode LLC (&#8220;TruCode&#8221;), as further described in Note 3 to the consolidated financial statements.  We continue to integrate policies, processes, people, technology and operations for our combined operations, and will continue to evaluate the impact of any related changes to internal controls over financial reporting during the fiscal year.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">96</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no changes in the Company&#8217;s internal control over financial reporting (as defined in Exchange Act Rule 13a-15(f)) during the quarter ended December 31, 2021 that have materially affected, or are reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Management&#8217;s Annual Report on Internal Control Over Financial Reporting</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This report is included in Item</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8 on page 62 and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">is incorporated herein by reference.</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Report of Independent Registered Public Accounting Firm on Internal Control Over Financial Reporting</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This report is included in</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Item&#160;8 on page 63 a</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">nd</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> is incorporated herein by reference.</span></div><div><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_211"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;9B.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">OTHER INFORMATION.</span></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effective as of the filing of this Annual Report on Form 10-K, Troy D. Rosser, the Company&#8217;s Senior Vice President &#8211; Sales and a current &#8220;named executive officer&#8221; of the Company, is no longer an &#8220;executive officer&#8221; of the Company for purposes of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;).  Mr. Rosser is maintaining his position and responsibilities with the Company; however, the Board of Directors of the Company has made the determination that, based on the role and duties of Mr. Rosser and other individuals at the Company and the current structure of the Company&#8217;s business, Mr. Rosser should no longer be designated as an &#8220;executive officer&#8221; (as defined in Rule 3b-7 under the Exchange Act) of the Company for purposes of the Exchange Act.</span></div><div><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_1102"></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;9C.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTION.</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None. </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">97</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_214"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART III</span></div><div id="i970301c9c50f467384dc14f962fc03da_217"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;10.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have adopted a Code of Business Conduct and Ethics applicable to all of our directors, officers (including our Chief Executive Officer and senior financial officers) and employees. We have also adopted a separate code of ethics with additional guidelines and responsibilities applicable to our Chief Executive Officer and senior financial officers, known as the Code of Ethics for CEO and Senior Financial Officers. Copies of the Code of Business Conduct and Ethics and the Code of Ethics for CEO and Senior Financial Officers are available on CPSI&#8217;s web site at </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">www.cpsi.com</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in the "Corporate Information" section under "Corporate Governance."</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other information required by this Item regarding executive officers is included in Part I of this Form 10-K under the caption "Executive Officers" in accordance with Instruction 3 to Paragraph (b)&#160;of Item&#160;401 of Regulation S-K.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other information required by this Item is incorporated by reference pursuant to General Instruction G(3) of Form 10-K from CPSI&#8217;s definitive Proxy Statement for the 2022 Annual Meeting of Stockholders (the "2022 Proxy Statement") to be filed with the Securities and Exchange Commission pursuant to Regulation 14A.</span></div><div style="margin-top:9pt"><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_220"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;11.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">EXECUTIVE COMPENSATION</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this Item is incorporated by reference pursuant to General Instruction G(3) of Form 10-K from the 2022 Proxy Statement to be filed with the Securities and Exchange Commission pursuant to Regulation 14A.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">98</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_223"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;12.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this Item is incorporated by reference pursuant to General Instruction G(3) of Form 10-K from the 2022 Proxy Statement to be filed with the Securities and Exchange Commission pursuant to Regulation 14A.</span></div><div style="margin-top:9pt"><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_226"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;13.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this Item is incorporated by reference pursuant to General Instruction G(3) of Form 10-K from the 2022 Proxy Statement to be filed with the Securities and Exchange Commission pursuant to Regulation 14A.</span></div><div style="margin-top:9pt"><span><br/></span></div><div id="i970301c9c50f467384dc14f962fc03da_229"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;14.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">PRINCIPAL ACCOUNTANT FEES AND SERVICES</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information required by this Item is incorporated by reference pursuant to General Instruction G(3) of Form 10-K from the 2022 Proxy Statement to be filed with the Securities and Exchange Commission pursuant to Regulation 14A.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">99</span></div></div></div><div id="i970301c9c50f467384dc14f962fc03da_232"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART IV</span></div><div id="i970301c9c50f467384dc14f962fc03da_235"></div><div style="-sec-extract:summary"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;15.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">EXHIBITS AND FINANCIAL STATEMENT SCHEDULES</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(a)(1) and (2)&#160;and (c) &#8211; Financial Statements and Financial Statement Schedules.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Financial Statements</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">: The Financial Statements and related Financial Statements Schedule of CPSI are included herein in Part II, Item&#160;8.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(a)(3) and (b)&#160;&#8211; Exhibits.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The exhibits listed on the Exhibit Index beginning on page 102 of</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> thi</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">s Annual Report on Form 10-K are filed herewith or are incorporated herein by reference.</span></div><div id="i970301c9c50f467384dc14f962fc03da_238"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:87.041%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ITEM&#160;16.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">FORM 10-K SUMMARY</span></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i970301c9c50f467384dc14f962fc03da_241"></div><div style="-sec-extract:summary;margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURES</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of Section&#160;13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized, on this the 15th day of March, 2022.</span></div><div style="margin-top:9pt;padding-left:270pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:49.122%"><tr><td style="width:1.0%"></td><td style="width:15.566%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.852%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:76.282%"></td><td style="width:0.1%"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">COMPUTER&#160;PROGRAMS&#160;AND&#160;SYSTEMS,&#160;INC.</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ J. Boyd Douglas</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">J. Boyd Douglas</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">President and Chief Executive Officer</span></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:33.701%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.443%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:39.428%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.571%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.257%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Name</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Title</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Date</span></td></tr><tr style="height:3pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr style="height:12pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ J. Boyd Douglas</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">President, Chief Executive Officer and Director (principal executive officer)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</span></td></tr><tr style="height:15pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">J. Boyd Douglas</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr style="height:13pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Matt J. Chambless</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer<br/>(principal financial officer)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</span></td></tr><tr style="height:13pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Matt J. Chambless</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr style="height:13pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ David A. Dye</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Growth Officer&#160;and&#160;Director</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</span></td></tr><tr style="height:15pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">David A. Dye</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr style="height:13pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ James B. Britain</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vice President &#8211; Finance and Controller (principal accounting officer)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</span></td></tr><tr style="height:13pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">James B. Britain</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr style="height:13pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Glenn P. Tobin</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chairperson of the Board</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</span></td></tr><tr style="height:13pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Glenn P. Tobin</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr style="height:13pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Regina M. Benjamin</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</span></td></tr><tr style="height:13pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Regina M. Benjamin</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr style="height:13pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Christopher T. Hjelm</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</span></td></tr><tr style="height:13pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Christopher T. Hjelm</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:13pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Charles P. Huffman</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</span></td></tr><tr style="height:13pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Charles P. Huffman</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Denise W. Warren</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</span></td></tr><tr style="height:14pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denise W. Warren</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">101</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit Index</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:15.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.016%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:77.410%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Exhibit</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Description</span></td></tr><tr style="height:3pt"><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944515000016/exhibit21-agreementandplan.htm">2.1</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944515000016/exhibit21-agreementandplan.htm">Agreement and Plan of Merger and Reorganization, dated as of November 25, 2015, by and among Computer Programs and Systems, Inc., HHI Merger Sub I, Inc., HHI Merger Sub II, Inc., Healthland Holding Inc. and AHR Holdings, LLC (filed as Exhibit 2.1 to the CPSI&#8217;s Current Report on Form 8-K dated December 1, 2015 and incorporated herein by reference) </a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312516424514/d112074dex22.htm">2.2</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312516424514/d112074dex22.htm">Amendment to Agreement and Plan of Merger and Reorganization, dated as of January 8, 2016, by and among Computer Programs and Systems, Inc., Healthland Holding, Inc. and AHR Holdings, LLC (filed as Exhibit 2.2 to the CPSI&#8217;s Current Report on Form 8-K dated January 8, 2016 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000093176302000744/dex34.txt">3.1</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000093176302000744/dex34.txt">Certificate of Incorporation (filed as Exhibit 3.4 to CPSI&#8217;s Registration Statement on Form S-1 (Registration No. 333-84726) and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944513000014/ex3.htm">3.2</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944513000014/ex3.htm">Amended and Restated Bylaws (filed as Exhibit 3 to CPSI&#8217;s Current Report on Form 8-K dated October 28, 2013 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312519014114/d636256dex31.htm">3.3</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312519014114/d636256dex31.htm">Amendment to Amended and Restated Bylaws (filed as Exhibit 3.1 to CPSI&#8217;s Current Report on Form 8-K dated January 22, 2019 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000002/q42019exhibit41.htm">4.1</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000002/q42019exhibit41.htm">Description of Securities Registered under Section 12 of the Securities Exchange Act of 1934 (filed as Exhibit 4.1 to CPSI's Annual Report on Form 10-K for the period ended December 31, 2019 and incorporated herein by reference)</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000093066102003693/dex101.htm">10.1</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000093066102003693/dex101.htm">Form of Indemnity Agreement entered into by CPSI and each of its non-employee directors (filed as Exhibit 10.1 to CPSI&#8217;s Quarterly Report on Form 10-Q for the period ended September 30, 2002 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944521000003/cpsi_ex10x1x03x31x2021.htm">10.2</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944521000003/cpsi_ex10x1x03x31x2021.htm">Sublease Agreement, dated February 22, 2021, between CPSI and Red Square, LLC (filed as Exhibit 10.1 to CPSI's Quarterly Report on Form 10-Q for the period ended March 31, 2021 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944521000003/cpsi_ex10x2x03x31x2021.htm">10.3</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944521000003/cpsi_ex10x2x03x31x2021.htm">Commercial Lease Agreement, dated March 1, 2021, between CPSI and Central Optical, LLC (filed as Exhibit 10.2 to CPSI's Quarterly Report on Form 10-Q for the period ended March 31, 2021 and incorporated herein by reference)</a></span></div></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944514000014/exhibit101.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944514000014/exhibit101.htm">4</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944514000014/exhibit101.htm">*</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944514000014/exhibit101.htm">Computer Programs and Systems, Inc. Amended and Restated 2014 Incentive Plan (filed as Appendix A to CPSI's Schedule 14A dated March 31, 2017 and incorporated herein by reference) </a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000002/q42019exhibit109.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000002/q42019exhibit109.htm">5</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000002/q42019exhibit109.htm">*</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000002/q42019exhibit109.htm">Form of Performance Share Award Agreement (Three-Year) under the 2014 Incentive Plan (filed as Exhibit 10.9 to CPSI's Annual Report on Form 10-K for the period ended December 31, 2019 and incorporated herein by reference)</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944514000014/exhibit104.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944514000014/exhibit104.htm">6</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944514000014/exhibit104.htm">*</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000116944514000014/exhibit104.htm">Form of Restricted Stock Award Agreement under the 2014 Incentive Plan (filed as Exhibit 10.4 to CPSI&#8217;s Current Report on Form 8-K dated May 16, 2014 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312516424636/d118255dex991.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312516424636/d118255dex991.htm">7</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312516424636/d118255dex991.htm">*</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312516424636/d118255dex991.htm">Healthland Holding Inc. (f/k/a Dairyland Healthcare Solutions Holding Corp) Stock Incentive Plan (filed as Exhibit 99.1 to CPSI&#8217;s Registration Statement on Form S-8 (Registration No. 333-208915) and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex101.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex101.htm">8</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex101.htm">*</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex101.htm">Computer Programs and Systems, Inc. 2019 Incentive Plan (filed as Exhibit 10.1 to CPSI&#8217;s Current Report on Form 8-K dated May 2, 2019 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000015/cpsiex10109302020.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000015/cpsiex10109302020.htm">9</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000015/cpsiex10109302020.htm">*</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000015/cpsiex10109302020.htm">First Amendment to the Computer Programs and Systems, Inc. 2019 Incentive Plan (filed as Exhibit 10.1 to CPSI's Quarterly Report on Form 10-Q for the period ended September 30, 2020 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex103.htm">10.1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex103.htm">0</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex103.htm">*</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex103.htm">Form of Performance Share Award Agreement (Three-Year) under the 2019 Incentive Plan (filed as Exhibit 10.3 to CPSI&#8217;s Current Report on Form 8-K dated May 2, 2019 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex104.htm">10.1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex104.htm">1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex104.htm">*</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/1169445/000119312519135119/d731182dex104.htm">Form of Performance-Based Cash Bonus Award Agreement under the 2019 Incentive Plan (filed as Exhibit 10.4 to CPSI&#8217;s Current Report on Form 8-K dated May 2, 2019 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">102</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:15.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.016%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:77.410%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000002/a2019q4exhibit1018.htm">10.1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000002/a2019q4exhibit1018.htm">2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000002/a2019q4exhibit1018.htm">*</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944520000002/a2019q4exhibit1018.htm">Form of Restricted Stock Award Agreement under the 2019 Incentive Plan (filed as Exhibit 10.18 to CPSI's Annual Report on Form 10-K for the period ended December 31, 2019 and incorporated herein by reference) </a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944521000003/cpsi-ex103_03312021.htm">10.13*</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944521000003/cpsi-ex103_03312021.htm">Amended Commission Program for Troy D. Rosser (2020) (filed as Exhibit 10.3 to CPSI's Quarterly Report on Form 10-Q for the period ended March 31, 2021 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944521000009/cpsi-ex101_09302021.htm">10.14*</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000116944521000009/cpsi-ex101_09302021.htm">Senior Vice President of Sales Compensation Plan for Troy D. Rosser (Oct. 1, 2021 - Dec. 31, 2021) (filed as Exhibit 10.1 to CPSI's Quarterly Report on Form 10-Q for the period ended September 30, 2021 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000119312520172460/d944286dex101.htm">10.15</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000119312520172460/d944286dex101.htm">Amended and Restated Credit Agreement, dated as of June 16, 2020, by and among Computer Programs and Systems, Inc., certain of its subsidiaries, as guarantors, certain lenders named therein, and Regions Bank, as administrative agent and collateral agent (filed as Exhibit 10.1 to CPSI&#8217;s Current Report on Form 8-K dated June 18, 2020 and incorporated herein by reference) </a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000119312520172460/d944286dex102.htm">10.16</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/1169445/000119312520172460/d944286dex102.htm">Amended and Restated Pledge and Security Agreement, dated as of June 16, 2020, by and among the parties identified as Obligors therein and Regions Bank, as collateral agent (filed as Exhibit 10.2 to CPSI&#8217;s Current Report on Form 8-K dated June 18,2020 and incorporated herein by reference)</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a2021q4exhibit211.htm">21.1</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a2021q4exhibit211.htm">Subsidiaries of the registrant</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a2021q4exhibit231.htm">23.1</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a2021q4exhibit231.htm">Consent of Grant Thornton LLP, Independent Registered Public Accounting Firm</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a2021q4exhibit311.htm">31.1</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a2021q4exhibit311.htm">Certification of the Chief Executive Officer pursuant to Rule&#160;13a-14(a)/15d-14(a), as adopted pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a2021q4exhibit312.htm">31.2</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a2021q4exhibit312.htm">Certification of the Chief Financial Officer pursuant to Rule&#160;13a-14(a)/15d-14(a), as adopted pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a2021q4exhibit321.htm">32.1</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a2021q4exhibit321.htm">Certifications of Chief Executive Officer and Chief Financial Officer pursuant to 18&#160;U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002</a></span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interactive Data Files for CPSI&#8217;s Annual Report on Form 10-K for the period ended December 31, 2021</span></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:4.747%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:93.053%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Management compensation plan or arrangement</span></td></tr></table></div><div style="margin-top:9pt;text-align:center"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">103</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>2
<FILENAME>a2021q4exhibit211.htm
<DESCRIPTION>EX-21.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="i2115153fbce4492887af62fb13fa4bf8_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 21.1</font></div><div><font><br></font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Computer Programs and Systems, Inc.</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Subsidiary List</font></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.584%"><tr><td style="width:1.0%"></td><td style="width:46.869%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:50.931%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Subsidiary Name</font></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">State of Organization</font></td></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge, LLC</font></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Evident, LLC</font></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Healthland Holding Inc.</font></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Healthland Inc.</font></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Minnesota</font></td></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">American HealthTech, Inc.</font></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mississippi</font></td></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rycan Technologies, Inc.</font></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Minnesota</font></td></tr><tr><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">iNetXperts, Corp. d&#47;b&#47;a Get Real Health</font></td><td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Maryland</font></td></tr><tr><td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruCode LLC</font></td><td colspan="3" style="border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Virginia</font></td></tr><tr><td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Healthcare Resource Group, Inc.</font></td><td colspan="3" style="border-bottom:1pt solid #000;border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Washington</font></td></tr></table></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>a2021q4exhibit231.htm
<DESCRIPTION>EX-23.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="ieef3471317d2421d8d92f540ec941b53_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 23.1</font></div><div style="text-align:right"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</font></div><div style="text-align:center"><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have issued our reports dated March&#160;15, 2022, with respect to the consolidated financial statements and internal control over financial reporting included in the Annual Report of Computer Programs and Systems, Inc. on Form 10-K for the year ended December&#160;31, 2021. We consent to the incorporation by reference of said reports in the Registration Statements of Computer Programs and Systems, Inc. on Form S-3 (File No. 333-209669) and on Forms S-8 (File No. 333-196020, File No. 333-208915, File No. 333-217880 and File No.333-231193).</font></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:42.982%"><tr><td style="width:1.0%"></td><td style="width:32.233%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.233%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.234%"></td><td style="width:0.1%"></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; GRANT THORNTON LLP</font></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Atlanta, Georgia</font></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 15, 2022</font></td></tr></table></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>a2021q4exhibit311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="idc7aa041d3ec40deb821ed588e191601_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit&#160;31.1</font></div><div style="margin-top:9pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION</font></div><div style="margin-top:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, J. Boyd Douglas, certify that&#58;</font></div><div><font><br></font></div><div style="margin-bottom:6pt;padding-left:31.5pt;text-indent:-31.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:24pt">I have reviewed this Annual Report on Form 10-K of Computer Programs and Systems, Inc.&#59;</font></div><div style="margin-bottom:6pt;padding-left:31.5pt;text-indent:-31.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:24pt">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></div><div style="margin-bottom:6pt;padding-left:31.5pt;text-indent:-31.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:24pt">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="margin-bottom:6pt;padding-left:31.5pt;text-indent:-31.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:24pt">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&#160;13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="padding-left:54pt;text-indent:-22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:15.57pt">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="padding-left:54pt;text-indent:-22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:15pt">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="padding-left:54pt;text-indent:-22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">c.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:15.57pt">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="padding-left:54pt;text-indent:-22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:15pt">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="padding-left:31.5pt;text-indent:-18pt"><font><br></font></div><div style="padding-left:31.5pt;text-indent:-31.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:24pt">The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></div><div><font><br></font></div><div style="padding-left:54pt;text-indent:-22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:15.57pt">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="padding-left:54pt;text-indent:-22.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:15pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div><div style="padding-left:18pt;text-indent:-4.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.275%"><tr><td style="width:1.0%"></td><td style="width:30.724%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.843%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.717%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.038%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.958%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.958%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.962%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58; March 15, 2022</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; J. Boyd Douglas</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">J. Boyd Douglas</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Executive Officer</font></div></td></tr></table></div><div style="padding-left:18pt;text-indent:-4.5pt"><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>a2021q4exhibit312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="ibebcdadd011541ff8f624250c70b456a_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit&#160;31.2</font></div><div style="margin-top:9pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION</font></div><div style="margin-top:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Matt J. Chambless, certify that&#58;</font></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt">I have reviewed this Annual Report on Form 10-K of Computer Programs and Systems, Inc.&#59;</font></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="margin-top:9pt;padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&#160;13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div><font><br></font></div><div style="padding-left:54pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="padding-left:54pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="padding-left:54pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">c.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="padding-left:54pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="padding-left:30.48pt"><font><br></font></div><div style="padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt">The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></div><div><font><br></font></div><div style="padding-left:54pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="padding-left:54pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div><div style="padding-left:54pt;text-indent:-18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:31.006%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.861%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.760%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.154%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.154%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.861%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:31.304%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58; March 15, 2022</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Matt J. Chambless</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Matt J. Chambless</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer</font></td></tr></table></div><div style="padding-left:54pt;text-indent:-18pt"><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>a2021q4exhibit321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="i3b2ae16e12634ba6acfc3f27901a11f5_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit&#160;32.1</font></div><div style="margin-top:9pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Certifications of Chief Executive Officer</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">and Chief Financial Officer</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Pursuant to</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">18 U.S.C. Section&#160;1350,</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As Adopted Pursuant to</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Section&#160;906 of the Sarbanes-Oxley Act of 2002</font></div><div style="margin-top:9pt;text-indent:24pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the Annual Report on Form 10-K for the year ended December&#160;31, 2021 (the &#34;Report&#34;) of Computer Programs and Systems, Inc. (the &#8220;Company&#8221;), as filed with the Securities and Exchange Commission on the date hereof, J. Boyd Douglas, Chief Executive Officer of the Company, and Matt J. Chambless, Chief Financial Officer of the Company, each hereby certifies, pursuant to 18 U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, that&#58;</font></div><div style="padding-left:30.48pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The Report fully complies with the requirements of Section&#160;13(a) or 15(d) of the Securities Exchange Act of 1934&#59; and</font></div><div style="padding-left:30.48pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div style="margin-top:9pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dated&#58; March&#160;15, 2022 </font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</font><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:42.982%"><tr><td style="width:1.0%"></td><td style="width:32.233%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.233%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.234%"></td><td style="width:0.1%"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; J. Boyd Douglas</font></td></tr><tr><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">J. Boyd Douglas</font></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Chief Executive Officer</font></td></tr><tr style="height:15pt"><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Matt J. Chambless</font></td></tr><tr><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Matt J. Chambless</font></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Chief Financial Officer</font></td></tr></table></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>7
<FILENAME>cpsi-20211231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:5f089e39-5400-42a6-8cf7-a58d1803f56b,g:4b2da0af-6aab-4056-86f4-46579ce6ecbb-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:cpsi="http://www.cpsinet.com/20211231" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.cpsinet.com/20211231">
  <xs:import namespace="http://fasb.org/srt/2021-01-31" schemaLocation="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2021-01-31" schemaLocation="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2021q4" schemaLocation="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cpsi-20211231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cpsi-20211231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cpsi-20211231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cpsi-20211231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="Coverpage" roleURI="http://www.cpsinet.com/role/Coverpage">
        <link:definition>0001001 - Document - Cover page</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AuditInformation" roleURI="http://www.cpsinet.com/role/AuditInformation">
        <link:definition>0002002 - Document - Audit Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheets" roleURI="http://www.cpsinet.com/role/ConsolidatedBalanceSheets">
        <link:definition>1001003 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheetsParenthetical" roleURI="http://www.cpsinet.com/role/ConsolidatedBalanceSheetsParenthetical">
        <link:definition>1002004 - Statement - Consolidated Balance Sheets (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofOperations" roleURI="http://www.cpsinet.com/role/ConsolidatedStatementsofOperations">
        <link:definition>1003005 - Statement - Consolidated Statements of Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofStockholdersEquity" roleURI="http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity">
        <link:definition>1004006 - Statement - Consolidated Statements of Stockholders&#8217; Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofCashFlows" roleURI="http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows">
        <link:definition>1005007 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NatureofOperations" roleURI="http://www.cpsinet.com/role/NatureofOperations">
        <link:definition>2101101 - Disclosure - Nature of Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPolicies" roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPolicies">
        <link:definition>2102102 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesPolicies" roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies">
        <link:definition>2203201 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesTables" roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesTables">
        <link:definition>2304301 - Disclosure - Summary of Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails">
        <link:definition>2405401 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails" roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails">
        <link:definition>2406402 - Disclosure - Summary of Significant Accounting Policies - Amounts reclassified (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails">
        <link:definition>2407403 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails" roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails">
        <link:definition>2408404 - Disclosure - Summary of Significant Accounting Policies - Changes in Deferred Revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesChangesinCapitalizedContractCostDetails" roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinCapitalizedContractCostDetails">
        <link:definition>2409405 - Disclosure - Summary of Significant Accounting Policies - Changes in Capitalized Contract Cost (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessCombination" roleURI="http://www.cpsinet.com/role/BusinessCombination">
        <link:definition>2110103 - Disclosure - Business Combination</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessCombinationTables" roleURI="http://www.cpsinet.com/role/BusinessCombinationTables">
        <link:definition>2311302 - Disclosure - Business Combination (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessCombinationNarrativeDetails" roleURI="http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails">
        <link:definition>2412406 - Disclosure - Business Combination - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails" roleURI="http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails">
        <link:definition>2413407 - Disclosure - Business Combination - Preliminary allocation of the purchase price paid (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BusinessCombinationProformainformationDetails" roleURI="http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails">
        <link:definition>2414408 - Disclosure - Business Combination - Pro forma information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipment" roleURI="http://www.cpsinet.com/role/PropertyandEquipment">
        <link:definition>2115104 - Disclosure - Property and Equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentTables" roleURI="http://www.cpsinet.com/role/PropertyandEquipmentTables">
        <link:definition>2316303 - Disclosure - Property and Equipment (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentDetails" roleURI="http://www.cpsinet.com/role/PropertyandEquipmentDetails">
        <link:definition>2417409 - Disclosure - Property and Equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SoftwareDevelopment" roleURI="http://www.cpsinet.com/role/SoftwareDevelopment">
        <link:definition>2118105 - Disclosure - Software Development</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SoftwareDevelopmentTables" roleURI="http://www.cpsinet.com/role/SoftwareDevelopmentTables">
        <link:definition>2319304 - Disclosure - Software Development (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SoftwareDevelopmentNarrativeDetails" roleURI="http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails">
        <link:definition>2420410 - Disclosure - Software Development - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails" roleURI="http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails">
        <link:definition>2421411 - Disclosure - Software Development - Schedule of Software development costs, net (Details) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OtherAccruedLiabilities" roleURI="http://www.cpsinet.com/role/OtherAccruedLiabilities">
        <link:definition>2122106 - Disclosure - Other Accrued Liabilities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OtherAccruedLiabilitiesTables" roleURI="http://www.cpsinet.com/role/OtherAccruedLiabilitiesTables">
        <link:definition>2323305 - Disclosure - Other Accrued Liabilities (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OtherAccruedLiabilitiesDetails" roleURI="http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails">
        <link:definition>2424412 - Disclosure - Other Accrued Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetIncomePerShare" roleURI="http://www.cpsinet.com/role/NetIncomePerShare">
        <link:definition>2125107 - Disclosure - Net Income Per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetIncomePerShareTables" roleURI="http://www.cpsinet.com/role/NetIncomePerShareTables">
        <link:definition>2326306 - Disclosure - Net Income Per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetIncomePerShareDetails" roleURI="http://www.cpsinet.com/role/NetIncomePerShareDetails">
        <link:definition>2427413 - Disclosure - Net Income Per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxes" roleURI="http://www.cpsinet.com/role/IncomeTaxes">
        <link:definition>2128108 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesTables" roleURI="http://www.cpsinet.com/role/IncomeTaxesTables">
        <link:definition>2329307 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesNarrativeDetails" roleURI="http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails">
        <link:definition>2430414 - Disclosure - Income Taxes - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" roleURI="http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails">
        <link:definition>2431415 - Disclosure - Income Taxes - Deferred Tax Assets and Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails" roleURI="http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails">
        <link:definition>2432416 - Disclosure - Income Taxes - Significant Components of Income Tax Provision (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails" roleURI="http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails">
        <link:definition>2433417 - Disclosure - Income Taxes - Reconciliation to Federal Statutory Income Tax Rate (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationandEquity" roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquity">
        <link:definition>2134109 - Disclosure - Stock-Based Compensation and Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationandEquityTables" roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquityTables">
        <link:definition>2335308 - Disclosure - Stock-Based Compensation and Equity (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationandEquityNarrativeDetails" roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails">
        <link:definition>2436418 - Disclosure - Stock-Based Compensation and Equity - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails" roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails">
        <link:definition>2437419 - Disclosure - Stock-Based Compensation and Equity - Total Stock-Based Compensation Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails" roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails">
        <link:definition>2438420 - Disclosure - Stock-Based Compensation and Equity - Summary of Activity Under Restricted and Performance Stock Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConcentrationofCreditRisk" roleURI="http://www.cpsinet.com/role/ConcentrationofCreditRisk">
        <link:definition>2139110 - Disclosure - Concentration of Credit Risk</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FinancingReceivables" roleURI="http://www.cpsinet.com/role/FinancingReceivables">
        <link:definition>2140111 - Disclosure - Financing Receivables</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FinancingReceivablesTables" roleURI="http://www.cpsinet.com/role/FinancingReceivablesTables">
        <link:definition>2341309 - Disclosure - Financing Receivables (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FinancingReceivablesNarrativeDetails" roleURI="http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails">
        <link:definition>2442421 - Disclosure - Financing Receivables - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FinancingReceivablesShortTermPaymentPlansDetails" roleURI="http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails">
        <link:definition>2443422 - Disclosure - Financing Receivables - Short-Term Payment Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FinancingReceivablesComponentsofLeaseReceivablesDetails" roleURI="http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails">
        <link:definition>2444423 - Disclosure - Financing Receivables - Components of Lease Receivables (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FinancingReceivablesFutureMinimumLeasePaymentsDetails" roleURI="http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails">
        <link:definition>2445424 - Disclosure - Financing Receivables - Future Minimum Lease Payments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FinancingReceivablesAllowanceforFinancingCreditLossesDetails" roleURI="http://www.cpsinet.com/role/FinancingReceivablesAllowanceforFinancingCreditLossesDetails">
        <link:definition>2446425 - Disclosure - Financing Receivables - Allowance for Financing Credit Losses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails" roleURI="http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails">
        <link:definition>2447426 - Disclosure - Financing Receivables - Analysis of Age of Financing Receivable (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails" roleURI="http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails">
        <link:definition>2448427 - Disclosure - Financing Receivables - Summary of Financing Receivables by Credit Quality Indicator (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsandGoodwill" roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwill">
        <link:definition>2149112 - Disclosure - Intangible Assets and Goodwill</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsandGoodwillTables" roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillTables">
        <link:definition>2350310 - Disclosure - Intangible Assets and Goodwill (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails" roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails">
        <link:definition>2451428 - Disclosure - Intangible Assets and Goodwill - Definite-Lived Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsandGoodwillAmortizationDetails" roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails">
        <link:definition>2452429 - Disclosure - Intangible Assets and Goodwill - Amortization (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsandGoodwillScheduleofGoodwillDetails" roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails">
        <link:definition>2453430 - Disclosure - Intangible Assets and Goodwill - Schedule of Goodwill (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsandGoodwillNarrativeDetails" roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillNarrativeDetails">
        <link:definition>2454431 - Disclosure - Intangible Assets and Goodwill - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LongTermDebt" roleURI="http://www.cpsinet.com/role/LongTermDebt">
        <link:definition>2155113 - Disclosure - Long-Term Debt</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LongTermDebtTables" roleURI="http://www.cpsinet.com/role/LongTermDebtTables">
        <link:definition>2356311 - Disclosure - Long-Term Debt (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LongTermDebtScheduleofDebtDetails" roleURI="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails">
        <link:definition>2457432 - Disclosure - Long-Term Debt - Schedule of Debt (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LongTermDebtScheduleofDebtDetails_1" roleURI="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails_1">
        <link:definition>2457432 - Disclosure - Long-Term Debt - Schedule of Debt (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LongTermDebtNarrativeDetails" roleURI="http://www.cpsinet.com/role/LongTermDebtNarrativeDetails">
        <link:definition>2458433 - Disclosure - Long-Term Debt - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LongTermDebtAnticipatedAnnualFutureMaturitiesDetails" roleURI="http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails">
        <link:definition>2459434 - Disclosure - Long-Term Debt - Anticipated Annual Future Maturities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BenefitPlans" roleURI="http://www.cpsinet.com/role/BenefitPlans">
        <link:definition>2160114 - Disclosure - Benefit Plans</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BenefitPlansDetails" roleURI="http://www.cpsinet.com/role/BenefitPlansDetails">
        <link:definition>2461435 - Disclosure - Benefit Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OperatingLeases" roleURI="http://www.cpsinet.com/role/OperatingLeases">
        <link:definition>2162115 - Disclosure - Operating Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OperatingLeasesTables" roleURI="http://www.cpsinet.com/role/OperatingLeasesTables">
        <link:definition>2363312 - Disclosure - Operating Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OperatingLeasesSupplementalBalanceSheetInformationDetails" roleURI="http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails">
        <link:definition>2464436 - Disclosure - Operating Leases - Supplemental Balance Sheet Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails" roleURI="http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails">
        <link:definition>2465437 - Disclosure - Operating Leases - Future Minimum Lease Payments Payable Under these Operating Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails_1" roleURI="http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails_1">
        <link:definition>2465437 - Disclosure - Operating Leases - Future Minimum Lease Payments Payable Under these Operating Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OperatingLeasesNarrativeDetails" roleURI="http://www.cpsinet.com/role/OperatingLeasesNarrativeDetails">
        <link:definition>2466438 - Disclosure - Operating Leases - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingencies" roleURI="http://www.cpsinet.com/role/CommitmentsandContingencies">
        <link:definition>2167116 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValue" roleURI="http://www.cpsinet.com/role/FairValue">
        <link:definition>2168117 - Disclosure - Fair Value</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueTables" roleURI="http://www.cpsinet.com/role/FairValueTables">
        <link:definition>2369313 - Disclosure - Fair Value (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueDetails" roleURI="http://www.cpsinet.com/role/FairValueDetails">
        <link:definition>2470439 - Disclosure - Fair Value (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentReporting" roleURI="http://www.cpsinet.com/role/SegmentReporting">
        <link:definition>2171118 - Disclosure - Segment Reporting</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentReportingTables" roleURI="http://www.cpsinet.com/role/SegmentReportingTables">
        <link:definition>2372314 - Disclosure - Segment Reporting (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentReportingDetails" roleURI="http://www.cpsinet.com/role/SegmentReportingDetails">
        <link:definition>2473440 - Disclosure - Segment Reporting (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEvents" roleURI="http://www.cpsinet.com/role/SubsequentEvents">
        <link:definition>2174119 - Disclosure - Subsequent Events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEventsDetails" roleURI="http://www.cpsinet.com/role/SubsequentEventsDetails">
        <link:definition>2475441 - Disclosure - Subsequent Events (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="COVID19Pandemic" roleURI="http://www.cpsinet.com/role/COVID19Pandemic">
        <link:definition>2176120 - Disclosure - COVID-19 Pandemic</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ScheduleIIValuationandQualifyingAccounts" roleURI="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccounts">
        <link:definition>2177121 - Disclosure - Schedule II - Valuation and Qualifying Accounts</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails" roleURI="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails">
        <link:definition>2478442 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Allowance for Doubtful Accounts (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails" roleURI="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails">
        <link:definition>2479443 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Allowance for Credit Losses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock" abstract="false" name="LeaseSupplementalBalanceSheetInformationTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="cpsi_CARESActTextBlock" abstract="false" name="CARESActTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="cpsi_iNetXpertsCorpMember" abstract="true" name="iNetXpertsCorpMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage" abstract="false" name="DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="cpsi_TermLoanFacilityMember" abstract="true" name="TermLoanFacilityMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate" abstract="false" name="EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate" abstract="false" name="EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="cpsi_AllowanceForCreditLossesMember" abstract="true" name="AllowanceForCreditLossesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset" abstract="false" name="BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_CPSI401kRetirementPlanMember" abstract="true" name="CPSI401kRetirementPlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_FinancingReceivablesPolicyPolicyTextBlock" abstract="false" name="FinancingReceivablesPolicyPolicyTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables" abstract="false" name="DeferredTaxAssetsAccountsReceivableandFinancingReceivables" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_EarningsPerShareBasicDenominatorAbstract" abstract="true" name="EarningsPerShareBasicDenominatorAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cpsi_SystemsSalesAndSupportRevenueNonrecurringMember" abstract="true" name="SystemsSalesAndSupportRevenueNonrecurringMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_IncreaseDecreaseToProductDevelopmentCosts" abstract="false" name="IncreaseDecreaseToProductDevelopmentCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_ChangeInContractWithCustomerLiabilityRollForward" abstract="true" name="ChangeInContractWithCustomerLiabilityRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cpsi_WriteOffOfFullyDepreciatedAssets" abstract="false" name="WriteOffOfFullyDepreciatedAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_ChangeInCapitalizedContractCostRollForward" abstract="true" name="ChangeInCapitalizedContractCostRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cpsi_AmendedAndRestatedCreditAgreementMember" abstract="true" name="AmendedAndRestatedCreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_LongTermFinancingArrangementMember" abstract="true" name="LongTermFinancingArrangementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease" abstract="false" name="ContractWithCustomerLiabilityPeriodIncreaseDecrease" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_HealthcareResourceGroupIncMember" abstract="true" name="HealthcareResourceGroupIncMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_AcuteCareMember" abstract="true" name="AcuteCareMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_DeferredTaxAssetsAccruedVacation" abstract="false" name="DeferredTaxAssetsAccruedVacation" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_EarningsPerShareDilutedDenominatorAbstract" abstract="true" name="EarningsPerShareDilutedDenominatorAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cpsi_AccruedSeveranceCurrent" abstract="false" name="AccruedSeveranceCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="cpsi_BusinessManagementConsultingandManagedITServicesMember" abstract="true" name="BusinessManagementConsultingandManagedITServicesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_FinancingReceivableCreditQualityIndicatorsAbstract" abstract="true" name="FinancingReceivableCreditQualityIndicatorsAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cpsi_TruBridgeRycanandOtherOutsourcingMember" abstract="true" name="TruBridgeRycanandOtherOutsourcingMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_PostAcuteCareMember" abstract="true" name="PostAcuteCareMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_EarningsPerShareDilutedNumeratorAbstract" abstract="true" name="EarningsPerShareDilutedNumeratorAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cpsi_LongTermDebtCovenantConsolidatedLeverageRatio" abstract="false" name="LongTermDebtCovenantConsolidatedLeverageRatio" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType"/>
  <xs:element id="cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType"/>
  <xs:element id="cpsi_EarningsPerShareBasicNumeratorAbstract" abstract="true" name="EarningsPerShareBasicNumeratorAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cpsi_FinancialAsset181OrMoreDaysPastDueMember" abstract="true" name="FinancialAsset181OrMoreDaysPastDueMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit" abstract="false" name="LineofCreditFacilityAccordionFeatureIncreaseLimit" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts" abstract="false" name="EffectiveIncomeTaxRateReconciliationTransactionCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock" abstract="false" name="ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="cpsi_AuditInformationAbstract" abstract="true" name="AuditInformationAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="cpsi_SystemSalesAndSupportRevenueRecurringMember" abstract="true" name="SystemSalesAndSupportRevenueRecurringMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum" abstract="false" name="LongTermDebtCovenantFixedChargeCoverageRatioMinimum" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock" abstract="false" name="ScheduleOfSoftwareDevelopmentNetTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts" abstract="false" name="IncreaseDecreaseInCapitalizedSoftwareCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_FinancialAsset91To180DaysPastDueMember" abstract="true" name="FinancialAsset91To180DaysPastDueMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_PaymentsOnEarlyTerminationOfLease" abstract="false" name="PaymentsOnEarlyTerminationOfLease" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess" abstract="false" name="FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_FinancingReceivableTerm" abstract="false" name="FinancingReceivableTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability" abstract="false" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_PaymentsofContingentConsideration" abstract="false" name="PaymentsofContingentConsideration" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation" abstract="false" name="EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock" abstract="false" name="InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="cpsi_TruCodeLLCMember" abstract="true" name="TruCodeLLCMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_RevenuePerformanceObligationDescriptionOfTiming1" abstract="false" name="RevenuePerformanceObligationDescriptionOfTiming1" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" abstract="false" name="ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_ShortTermPaymentPlansMember" abstract="true" name="ShortTermPaymentPlansMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_CostsToObtainAndFulfillContractsCapitalized" abstract="false" name="CostsToObtainAndFulfillContractsCapitalized" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate" abstract="false" name="EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="cpsi_LongTermDebtMaturityAfterYearFour" abstract="false" name="LongTermDebtMaturityAfterYearFour" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_ProvisionToReturnAdjustments" abstract="false" name="ProvisionToReturnAdjustments" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum" abstract="false" name="LongTermDebtCovenantConsolidatedLeverageRatioMaximum" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="cpsi_FinancialAsset1To90DaysPastDueMember" abstract="true" name="FinancialAsset1To90DaysPastDueMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum" abstract="false" name="DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>8
<FILENAME>cpsi-20211231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:5f089e39-5400-42a6-8cf7-a58d1803f56b,g:4b2da0af-6aab-4056-86f4-46579ce6ecbb-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.cpsinet.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ConsolidatedBalanceSheets"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_8626dc16-790b-45d9-b585-5106a722a1d5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_bbafb960-86fb-43ab-af61-238cd3442aa9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_8626dc16-790b-45d9-b585-5106a722a1d5" xlink:to="loc_us-gaap_AssetsCurrent_bbafb960-86fb-43ab-af61-238cd3442aa9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_62a248f5-d729-4bef-aa3b-24d5308b7786" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_8626dc16-790b-45d9-b585-5106a722a1d5" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_62a248f5-d729-4bef-aa3b-24d5308b7786" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_bcae3ed0-c71e-4597-80fd-e1d8cb75a5f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_8626dc16-790b-45d9-b585-5106a722a1d5" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_bcae3ed0-c71e-4597-80fd-e1d8cb75a5f3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_e92aeb10-398c-48ce-ba33-6fa7e31d219e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_8626dc16-790b-45d9-b585-5106a722a1d5" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_e92aeb10-398c-48ce-ba33-6fa7e31d219e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableNetNoncurrent_e8d3e8c4-9d13-4304-b57b-87899cffd7a2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetNoncurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_8626dc16-790b-45d9-b585-5106a722a1d5" xlink:to="loc_us-gaap_NotesAndLoansReceivableNetNoncurrent_e8d3e8c4-9d13-4304-b57b-87899cffd7a2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_039fcddd-03fc-4c9d-a0b6-7ae35e7382be" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_8626dc16-790b-45d9-b585-5106a722a1d5" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_039fcddd-03fc-4c9d-a0b6-7ae35e7382be" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c9e3ce4f-166c-46be-9d4d-59b08b3238d5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_8626dc16-790b-45d9-b585-5106a722a1d5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c9e3ce4f-166c-46be-9d4d-59b08b3238d5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_20ca7b96-ebdd-4a9a-b82b-4281ece04b11" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_8626dc16-790b-45d9-b585-5106a722a1d5" xlink:to="loc_us-gaap_Goodwill_20ca7b96-ebdd-4a9a-b82b-4281ece04b11" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_001bd3a4-c644-481a-b3d5-6244c647e993" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_dbe6a7cb-a82b-47e0-ae10-a081aaf6f0b5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_001bd3a4-c644-481a-b3d5-6244c647e993" xlink:to="loc_us-gaap_Liabilities_dbe6a7cb-a82b-47e0-ae10-a081aaf6f0b5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_0ba9dc19-e23a-4d77-9660-a0d1feac1fa7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_001bd3a4-c644-481a-b3d5-6244c647e993" xlink:to="loc_us-gaap_StockholdersEquity_0ba9dc19-e23a-4d77-9660-a0d1feac1fa7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_f1731778-7e15-4061-8a87-040aa533d175" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_5731f8fe-8ee1-4ab3-ba7b-e8a79a535f5a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_f1731778-7e15-4061-8a87-040aa533d175" xlink:to="loc_us-gaap_AccountsPayableCurrent_5731f8fe-8ee1-4ab3-ba7b-e8a79a535f5a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_9b76175f-ba66-41d0-9345-9ccbebb73e6f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_f1731778-7e15-4061-8a87-040aa533d175" xlink:to="loc_us-gaap_LongTermDebtCurrent_9b76175f-ba66-41d0-9345-9ccbebb73e6f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_4d89c54a-878d-4002-a22e-4698e614a4f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_f1731778-7e15-4061-8a87-040aa533d175" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_4d89c54a-878d-4002-a22e-4698e614a4f3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedVacationCurrent_dcb8760e-1b36-416d-8478-4dc38a6dce2e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedVacationCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_f1731778-7e15-4061-8a87-040aa533d175" xlink:to="loc_us-gaap_AccruedVacationCurrent_dcb8760e-1b36-416d-8478-4dc38a6dce2e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_6af3a08e-628b-42a4-ae85-1869b04e9e7e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_f1731778-7e15-4061-8a87-040aa533d175" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_6af3a08e-628b-42a4-ae85-1869b04e9e7e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_debe9840-8b9c-46d8-8f42-0fcbe23486fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_c60f4a96-8f6a-4f10-bfb4-b8fe3b7c10b7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_debe9840-8b9c-46d8-8f42-0fcbe23486fb" xlink:to="loc_us-gaap_LiabilitiesCurrent_c60f4a96-8f6a-4f10-bfb4-b8fe3b7c10b7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_9d929b42-c263-4551-a90d-b14bb20148b0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_debe9840-8b9c-46d8-8f42-0fcbe23486fb" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_9d929b42-c263-4551-a90d-b14bb20148b0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_8ce4268c-7c2f-4599-aaad-e4c02223fa4e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_debe9840-8b9c-46d8-8f42-0fcbe23486fb" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_8ce4268c-7c2f-4599-aaad-e4c02223fa4e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_572515b7-7d65-4d9f-b6aa-6eb3c57a71cb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_debe9840-8b9c-46d8-8f42-0fcbe23486fb" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_572515b7-7d65-4d9f-b6aa-6eb3c57a71cb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_5e8a8737-5705-4449-9aa3-f35a332a38b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_4faa979f-23c5-4e98-a929-5b05ef9b3f07" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_5e8a8737-5705-4449-9aa3-f35a332a38b2" xlink:to="loc_us-gaap_CommonStockValue_4faa979f-23c5-4e98-a929-5b05ef9b3f07" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_e7a7c594-2d20-4bb8-ae93-35be4e323e4c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_5e8a8737-5705-4449-9aa3-f35a332a38b2" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_e7a7c594-2d20-4bb8-ae93-35be4e323e4c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_1d84ecf9-7924-4fa5-bcca-441302f7505e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_5e8a8737-5705-4449-9aa3-f35a332a38b2" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_1d84ecf9-7924-4fa5-bcca-441302f7505e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_8b6d38f6-ec61-46dc-bf2d-153e809c775e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_5e8a8737-5705-4449-9aa3-f35a332a38b2" xlink:to="loc_us-gaap_TreasuryStockValue_8b6d38f6-ec61-46dc-bf2d-153e809c775e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_f9e1751d-606e-417a-a109-bcc34b4af849" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_bedf24bc-ed42-4743-bbe4-42994bb1d1d1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_f9e1751d-606e-417a-a109-bcc34b4af849" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_bedf24bc-ed42-4743-bbe4-42994bb1d1d1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_f2fc24c2-ca4f-49f0-921c-b4a5b82634ff" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_f9e1751d-606e-417a-a109-bcc34b4af849" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_f2fc24c2-ca4f-49f0-921c-b4a5b82634ff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableNetCurrent_3fd40eec-250d-43eb-a6f3-830d500fe0ff" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_f9e1751d-606e-417a-a109-bcc34b4af849" xlink:to="loc_us-gaap_NotesAndLoansReceivableNetCurrent_3fd40eec-250d-43eb-a6f3-830d500fe0ff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_e2bda214-e4f6-45f1-a0eb-f2744713b655" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_f9e1751d-606e-417a-a109-bcc34b4af849" xlink:to="loc_us-gaap_InventoryNet_e2bda214-e4f6-45f1-a0eb-f2744713b655" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidTaxes_d9ba2436-8665-4f5d-b934-075871c28629" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidTaxes"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_f9e1751d-606e-417a-a109-bcc34b4af849" xlink:to="loc_us-gaap_PrepaidTaxes_d9ba2436-8665-4f5d-b934-075871c28629" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_364eabf8-97ba-4a7d-b5fb-c276fab65b9f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_f9e1751d-606e-417a-a109-bcc34b4af849" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_364eabf8-97ba-4a7d-b5fb-c276fab65b9f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ConsolidatedStatementsofOperations"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/ConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_bcca6e3e-7e21-4d81-95f8-5eb1c22d2768" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_2d7156fa-6cd0-4d28-8813-10bdd78844e2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_bcca6e3e-7e21-4d81-95f8-5eb1c22d2768" xlink:to="loc_us-gaap_OperatingIncomeLoss_2d7156fa-6cd0-4d28-8813-10bdd78844e2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_43f31efd-4f42-4ac0-9b37-61f040fdeaf0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_bcca6e3e-7e21-4d81-95f8-5eb1c22d2768" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_43f31efd-4f42-4ac0-9b37-61f040fdeaf0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_57f17e8a-1103-4392-a5cb-4fe4f450b92a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_7b9ee6b1-dcbc-491a-a04d-b47f523f8422" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_57f17e8a-1103-4392-a5cb-4fe4f450b92a" xlink:to="loc_us-gaap_GrossProfit_7b9ee6b1-dcbc-491a-a04d-b47f523f8422" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_b8afa3f3-9a67-4f1b-a976-6c827b1e61ee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_57f17e8a-1103-4392-a5cb-4fe4f450b92a" xlink:to="loc_us-gaap_OperatingExpenses_b8afa3f3-9a67-4f1b-a976-6c827b1e61ee" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_2366dd65-ab5c-4e9b-8c07-f2a6eb935caf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3f8659d2-0490-4fc0-809f-5c6e312e7fc7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_2366dd65-ab5c-4e9b-8c07-f2a6eb935caf" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3f8659d2-0490-4fc0-809f-5c6e312e7fc7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_0a735e35-57f1-43bc-813e-98f309e3a4af" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_2366dd65-ab5c-4e9b-8c07-f2a6eb935caf" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_0a735e35-57f1-43bc-813e-98f309e3a4af" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_395263f7-1263-4500-9e44-49a36a85cd9c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncome_e8eeb5d6-12ba-488c-ad47-51f63b7ed8e3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncome"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense_395263f7-1263-4500-9e44-49a36a85cd9c" xlink:to="loc_us-gaap_OtherNonoperatingIncome_e8eeb5d6-12ba-488c-ad47-51f63b7ed8e3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_ba86ab52-1698-48d9-87c4-e63adc298151" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense_395263f7-1263-4500-9e44-49a36a85cd9c" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_ba86ab52-1698-48d9-87c4-e63adc298151" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_b2b1ce54-765f-420f-b473-18075c88cf59" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense_395263f7-1263-4500-9e44-49a36a85cd9c" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_b2b1ce54-765f-420f-b473-18075c88cf59" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_94cd8ff2-38cc-40ea-a685-5d95984cf9ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense_395263f7-1263-4500-9e44-49a36a85cd9c" xlink:to="loc_us-gaap_InterestExpense_94cd8ff2-38cc-40ea-a685-5d95984cf9ed" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_5149353b-ad4b-4b58-8e72-88238ec94880" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_69cf32c4-8037-4cf0-8616-4c6f52411992" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_5149353b-ad4b-4b58-8e72-88238ec94880" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_69cf32c4-8037-4cf0-8616-4c6f52411992" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_cf34a8ed-5f86-4f57-998f-e6098eb1fcbe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_5149353b-ad4b-4b58-8e72-88238ec94880" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_cf34a8ed-5f86-4f57-998f-e6098eb1fcbe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_61677acc-41e9-416b-b9c8-ea80621b1ce9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_aaae3709-8c2a-463f-a37c-324e112b3361" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_61677acc-41e9-416b-b9c8-ea80621b1ce9" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_aaae3709-8c2a-463f-a37c-324e112b3361" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_faf29ee6-2175-48a8-83d8-ad590d175317" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_61677acc-41e9-416b-b9c8-ea80621b1ce9" xlink:to="loc_us-gaap_SellingAndMarketingExpense_faf29ee6-2175-48a8-83d8-ad590d175317" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_4f02be4d-dc69-4e1b-bd93-ece2d122b641" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_61677acc-41e9-416b-b9c8-ea80621b1ce9" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_4f02be4d-dc69-4e1b-bd93-ece2d122b641" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_e02e1c28-dccf-4915-80f3-275a604937a2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_61677acc-41e9-416b-b9c8-ea80621b1ce9" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_e02e1c28-dccf-4915-80f3-275a604937a2" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_87abd18b-caf6-451b-963e-07c98efda9a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_8f65f540-c0da-4851-a9d4-8dd39bb3cfb1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_87abd18b-caf6-451b-963e-07c98efda9a1" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_8f65f540-c0da-4851-a9d4-8dd39bb3cfb1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_e500a192-bf25-4236-bdf4-da8103147e75" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_87abd18b-caf6-451b-963e-07c98efda9a1" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_e500a192-bf25-4236-bdf4-da8103147e75" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware_e0b6ba18-bbf6-4de3-aa22-be1ffa0cb151" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToDevelopSoftware"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_87abd18b-caf6-451b-963e-07c98efda9a1" xlink:to="loc_us-gaap_PaymentsToDevelopSoftware_e0b6ba18-bbf6-4de3-aa22-be1ffa0cb151" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_592ca1ea-d137-412b-bd90-eceae4bd4bfe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_NetIncomeLoss_592ca1ea-d137-412b-bd90-eceae4bd4bfe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_8ed73f9c-2ab2-40c8-a103-d2fb90ca6dc9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_8ed73f9c-2ab2-40c8-a103-d2fb90ca6dc9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_eae9b4af-949b-45d5-8a4c-346fb92f96aa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_eae9b4af-949b-45d5-8a4c-346fb92f96aa" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_fdc75b25-6e5c-4b6a-aa1d-861ad48a662c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_ShareBasedCompensation_fdc75b25-6e5c-4b6a-aa1d-861ad48a662c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_17f0b257-0001-4e10-9451-1297bb219f33" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_Depreciation_17f0b257-0001-4e10-9451-1297bb219f33" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_9579804d-0e15-4b93-91ed-d38665f7436a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_9579804d-0e15-4b93-91ed-d38665f7436a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAmortization1_f5641999-c61b-4aa9-86de-47167b93da90" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAmortization1"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAmortization1_f5641999-c61b-4aa9-86de-47167b93da90" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCosts_8463bc19-2be7-4b5c-8214-31e2aaf1e08b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfFinancingCosts"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_AmortizationOfFinancingCosts_8463bc19-2be7-4b5c-8214-31e2aaf1e08b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_d247734f-477d-401f-8b9a-1c1f946d9bd7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1"/>
    <link:calculationArc order="9" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_d247734f-477d-401f-8b9a-1c1f946d9bd7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_a232dd3d-94a0-4a31-981c-0e8285da463d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_a232dd3d-94a0-4a31-981c-0e8285da463d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_0fe36017-bd05-486a-85fc-815225b78b7e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="11" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_0fe36017-bd05-486a-85fc-815225b78b7e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInFinanceReceivables_133ab5f5-e7d8-471d-b975-88d03049aae2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInFinanceReceivables"/>
    <link:calculationArc order="12" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_IncreaseDecreaseInFinanceReceivables_133ab5f5-e7d8-471d-b975-88d03049aae2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_9abaecec-0a4e-48ab-ac8c-54fb8fd82537" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="13" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_9abaecec-0a4e-48ab-ac8c-54fb8fd82537" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_be6bf768-10a5-42ef-959a-4b1673950de2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="14" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_be6bf768-10a5-42ef-959a-4b1673950de2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_3aa41af1-8ec4-4c93-8dec-156144006e16" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="15" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_3aa41af1-8ec4-4c93-8dec-156144006e16" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_f5a3f02f-5ce7-445f-8826-0f39c453d226" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:calculationArc order="16" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_f5a3f02f-5ce7-445f-8826-0f39c453d226" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_c9824a82-9a20-4add-9532-42aa1d183bfa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities"/>
    <link:calculationArc order="17" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_c9824a82-9a20-4add-9532-42aa1d183bfa" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_2f8b812e-e86d-47b1-ae2b-4b7936cbf2bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <link:calculationArc order="18" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_2f8b812e-e86d-47b1-ae2b-4b7936cbf2bd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_78bffdd8-097c-45ee-9e79-90b89c6b6aa9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:calculationArc order="19" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f342074-fdb1-43a9-b279-8cbca31ffb07" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_78bffdd8-097c-45ee-9e79-90b89c6b6aa9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e7e48fcd-f0e6-4579-bb93-b99317568571" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a559f518-337f-4ca1-ae91-8bf71e34358a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e7e48fcd-f0e6-4579-bb93-b99317568571" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_a559f518-337f-4ca1-ae91-8bf71e34358a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_43b79d5d-a8bd-425c-ba66-50dd49ced179" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e7e48fcd-f0e6-4579-bb93-b99317568571" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_43b79d5d-a8bd-425c-ba66-50dd49ced179" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_aa66d523-c64b-483b-957a-3a9baa26bd5e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_e7e48fcd-f0e6-4579-bb93-b99317568571" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_aa66d523-c64b-483b-957a-3a9baa26bd5e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4f4e6538-4bb3-4af3-845e-8e8d4655adca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDividends_8067a117-db90-4851-a1f8-57aafde4e926" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDividends"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4f4e6538-4bb3-4af3-845e-8e8d4655adca" xlink:to="loc_us-gaap_PaymentsOfDividends_8067a117-db90-4851-a1f8-57aafde4e926" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_a94ed2d6-e0fa-4643-9750-3414fb0732ad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4f4e6538-4bb3-4af3-845e-8e8d4655adca" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_a94ed2d6-e0fa-4643-9750-3414fb0732ad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_ff32571d-99f5-42ed-9b8d-995c8d23911e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4f4e6538-4bb3-4af3-845e-8e8d4655adca" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_ff32571d-99f5-42ed-9b8d-995c8d23911e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_e0766dbd-2c5e-4aa8-9e6f-258367935322" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4f4e6538-4bb3-4af3-845e-8e8d4655adca" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_e0766dbd-2c5e-4aa8-9e6f-258367935322" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLinesOfCredit_9fab77bf-e174-404b-a553-e18302a72d18" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4f4e6538-4bb3-4af3-845e-8e8d4655adca" xlink:to="loc_us-gaap_RepaymentsOfLinesOfCredit_9fab77bf-e174-404b-a553-e18302a72d18" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfOtherDebt_f4132cb1-728a-4800-bc38-0eac3703879e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfOtherDebt"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4f4e6538-4bb3-4af3-845e-8e8d4655adca" xlink:to="loc_us-gaap_RepaymentsOfOtherDebt_f4132cb1-728a-4800-bc38-0eac3703879e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PaymentsofContingentConsideration_ddfbccff-542d-420b-8e2c-26f9770aa836" xlink:href="cpsi-20211231.xsd#cpsi_PaymentsofContingentConsideration"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4f4e6538-4bb3-4af3-845e-8e8d4655adca" xlink:to="loc_cpsi_PaymentsofContingentConsideration_ddfbccff-542d-420b-8e2c-26f9770aa836" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_4015ea3a-3f9c-4e33-84cc-76c2a8d42739" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4f4e6538-4bb3-4af3-845e-8e8d4655adca" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_4015ea3a-3f9c-4e33-84cc-76c2a8d42739" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_4c16c1d5-c625-4b05-8382-c33406ada213" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:calculationArc order="9" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4f4e6538-4bb3-4af3-845e-8e8d4655adca" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_4c16c1d5-c625-4b05-8382-c33406ada213" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_99f6acab-f5ac-4dd3-b2a7-6fec427af81f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_us-gaap_Goodwill_99f6acab-f5ac-4dd3-b2a7-6fec427af81f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_a8001014-033f-486d-a276-bb27b140544d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_a8001014-033f-486d-a276-bb27b140544d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_0d46f76f-0dd2-4ab1-8109-8ebd7b701cff" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_0d46f76f-0dd2-4ab1-8109-8ebd7b701cff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_dcc9728d-086b-4ed3-996a-11863ca552e0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_dcc9728d-086b-4ed3-996a-11863ca552e0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_5c9697e9-693a-42f0-85ce-78dd4bafd783" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_5c9697e9-693a-42f0-85ce-78dd4bafd783" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability_e1176c09-76ba-490f-afd2-7e946d2c3d03" xlink:href="cpsi-20211231.xsd#cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability_e1176c09-76ba-490f-afd2-7e946d2c3d03" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_fdefbfd9-8b67-4ca8-884d-5b818ee5f78a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_fdefbfd9-8b67-4ca8-884d-5b818ee5f78a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_09e4584e-0205-4e79-8ccc-ae2e3bd4cec5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_09e4584e-0205-4e79-8ccc-ae2e3bd4cec5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_01902da6-d34b-4238-9c19-e6a01d4d2bf4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_01902da6-d34b-4238-9c19-e6a01d4d2bf4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation_aff182b1-6cea-4b1b-b775-2260dd52fc49" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation_aff182b1-6cea-4b1b-b775-2260dd52fc49" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset_570a81f3-e98b-4162-ab54-4d219deb891a" xlink:href="cpsi-20211231.xsd#cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset_570a81f3-e98b-4162-ab54-4d219deb891a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability_94a22007-30a0-4fec-9642-5a4e1f7428cd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability"/>
    <link:calculationArc order="12" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_f475aee2-160d-4cb1-87ab-5b4990611da2" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability_94a22007-30a0-4fec-9642-5a4e1f7428cd" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/PropertyandEquipmentDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#PropertyandEquipmentDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/PropertyandEquipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_4ef392fb-5306-419c-bbcb-4c203ccd2df4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_0564336a-0ac1-4cd0-8ffd-73b18a6654c0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_4ef392fb-5306-419c-bbcb-4c203ccd2df4" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_0564336a-0ac1-4cd0-8ffd-73b18a6654c0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_cdaccf50-6709-4285-974a-d159f9302099" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_4ef392fb-5306-419c-bbcb-4c203ccd2df4" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_cdaccf50-6709-4285-974a-d159f9302099" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_d7544186-bb0e-4de5-97c8-0be66c96d44a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross_3d48b722-047c-4041-829d-7d69a7e6f9bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_d7544186-bb0e-4de5-97c8-0be66c96d44a" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareGross_3d48b722-047c-4041-829d-7d69a7e6f9bc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_1c1a697d-6e63-49c1-a1f8-c0ff6af4d915" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet_d7544186-bb0e-4de5-97c8-0be66c96d44a" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_1c1a697d-6e63-49c1-a1f8-c0ff6af4d915" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OtherAccruedLiabilitiesDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_f3ee9be2-bd4d-444e-bcbc-ba8de2cd53ad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalariesCurrent_8d90e2da-2752-48f7-94c8-d6c7db6ace68" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalariesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent_f3ee9be2-bd4d-444e-bcbc-ba8de2cd53ad" xlink:to="loc_us-gaap_AccruedSalariesCurrent_8d90e2da-2752-48f7-94c8-d6c7db6ace68" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AccruedSeveranceCurrent_226ced1e-23ec-4353-85d8-1289e04ff145" xlink:href="cpsi-20211231.xsd#cpsi_AccruedSeveranceCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent_f3ee9be2-bd4d-444e-bcbc-ba8de2cd53ad" xlink:to="loc_cpsi_AccruedSeveranceCurrent_226ced1e-23ec-4353-85d8-1289e04ff145" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent_8feecca2-60ea-4014-ac73-7f3879f815bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent_f3ee9be2-bd4d-444e-bcbc-ba8de2cd53ad" xlink:to="loc_us-gaap_AccruedSalesCommissionCurrent_8feecca2-60ea-4014-ac73-7f3879f815bf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedInsuranceCurrent_bfc7f27a-4de5-4c9d-bd5a-19e1fece5a39" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedInsuranceCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent_f3ee9be2-bd4d-444e-bcbc-ba8de2cd53ad" xlink:to="loc_us-gaap_AccruedInsuranceCurrent_bfc7f27a-4de5-4c9d-bd5a-19e1fece5a39" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_e8c62111-2e3b-4a80-96b4-2bd0bf2dbc3c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent_f3ee9be2-bd4d-444e-bcbc-ba8de2cd53ad" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_e8c62111-2e3b-4a80-96b4-2bd0bf2dbc3c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_89e27c62-f493-4b8c-b69b-4bf373410302" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent_f3ee9be2-bd4d-444e-bcbc-ba8de2cd53ad" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_89e27c62-f493-4b8c-b69b-4bf373410302" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_2522ed6c-761d-46f8-a9cc-484117092d2b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent_f3ee9be2-bd4d-444e-bcbc-ba8de2cd53ad" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_2522ed6c-761d-46f8-a9cc-484117092d2b" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/NetIncomePerShareDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#NetIncomePerShareDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/NetIncomePerShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_5b96a997-1493-4692-ae22-3efb3dbc583a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_9e1cdd0a-67cd-4394-adba-c2008d5c15e3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_5b96a997-1493-4692-ae22-3efb3dbc583a" xlink:to="loc_us-gaap_NetIncomeLoss_9e1cdd0a-67cd-4394-adba-c2008d5c15e3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic_ea6b9fc9-6dc5-42bd-86e7-ec144cb3e37d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_5b96a997-1493-4692-ae22-3efb3dbc583a" xlink:to="loc_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic_ea6b9fc9-6dc5-42bd-86e7-ec144cb3e37d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_76d671b7-918b-440c-938a-1f7529914888" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_84492129-de11-4ffc-92b0-b43e7abbaca1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_76d671b7-918b-440c-938a-1f7529914888" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_84492129-de11-4ffc-92b0-b43e7abbaca1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_0818484d-e8cb-4c61-9115-e2773b9316d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_76d671b7-918b-440c-938a-1f7529914888" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_0818484d-e8cb-4c61-9115-e2773b9316d0" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_fa654cae-9f47-4cbb-bfdc-1ccd9fff8201" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_2aae462b-6896-44cf-a7e4-007d1ba34384" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fa654cae-9f47-4cbb-bfdc-1ccd9fff8201" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_2aae462b-6896-44cf-a7e4-007d1ba34384" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsDeferredIncome_3eabb18e-2b9b-4dee-940f-86598f850797" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsDeferredIncome"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fa654cae-9f47-4cbb-bfdc-1ccd9fff8201" xlink:to="loc_us-gaap_DeferredTaxAssetsDeferredIncome_3eabb18e-2b9b-4dee-940f-86598f850797" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_b626c261-3477-48fd-b90a-ed73fc408ea2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fa654cae-9f47-4cbb-bfdc-1ccd9fff8201" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_b626c261-3477-48fd-b90a-ed73fc408ea2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_b4ea4e45-4e70-4745-8a81-a0a20927f0ea" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fa654cae-9f47-4cbb-bfdc-1ccd9fff8201" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_b4ea4e45-4e70-4745-8a81-a0a20927f0ea" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_e1637cfc-e83b-469b-99f6-7c38c6feff35" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fa654cae-9f47-4cbb-bfdc-1ccd9fff8201" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_e1637cfc-e83b-469b-99f6-7c38c6feff35" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DeferredTaxAssetsAccruedVacation_fd29f4cb-912b-4208-9bb9-3a314ec8be05" xlink:href="cpsi-20211231.xsd#cpsi_DeferredTaxAssetsAccruedVacation"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fa654cae-9f47-4cbb-bfdc-1ccd9fff8201" xlink:to="loc_cpsi_DeferredTaxAssetsAccruedVacation_fd29f4cb-912b-4208-9bb9-3a314ec8be05" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments_bece8ba1-058b-4237-8bc1-01539f1d59d4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fa654cae-9f47-4cbb-bfdc-1ccd9fff8201" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments_bece8ba1-058b-4237-8bc1-01539f1d59d4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables_4a7a339d-a846-4c41-8e08-2a2b158c9400" xlink:href="cpsi-20211231.xsd#cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fa654cae-9f47-4cbb-bfdc-1ccd9fff8201" xlink:to="loc_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables_4a7a339d-a846-4c41-8e08-2a2b158c9400" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities_963b158d-cdad-431d-8539-6c8fa39e4ec4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet_7d33c6fd-b83e-4624-bc9b-f2949ef06e58" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxLiabilities_963b158d-cdad-431d-8539-6c8fa39e4ec4" xlink:to="loc_us-gaap_DeferredTaxAssetsNet_7d33c6fd-b83e-4624-bc9b-f2949ef06e58" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_5a8c972c-bc34-4382-8ec4-dbc76d906aa6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxLiabilities_963b158d-cdad-431d-8539-6c8fa39e4ec4" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_5a8c972c-bc34-4382-8ec4-dbc76d906aa6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_41cf5b19-eefb-45c7-b59a-b0bacf389fd5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_c3adedfa-3fb7-43ac-a4f9-83d0aea7499a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_41cf5b19-eefb-45c7-b59a-b0bacf389fd5" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_c3adedfa-3fb7-43ac-a4f9-83d0aea7499a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_3fddf18a-8744-4f18-87e3-126d0935fadc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_41cf5b19-eefb-45c7-b59a-b0bacf389fd5" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_3fddf18a-8744-4f18-87e3-126d0935fadc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesOther_06b68277-14d1-424c-b823-d233349528f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_41cf5b19-eefb-45c7-b59a-b0bacf389fd5" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesOther_06b68277-14d1-424c-b823-d233349528f3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet_6f8bf49c-0666-4ab7-83bd-3df9fcda3783" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_db657c0d-ea73-4b57-ab77-c4db88b36e41" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsNet_6f8bf49c-0666-4ab7-83bd-3df9fcda3783" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_db657c0d-ea73-4b57-ab77-c4db88b36e41" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_4a08f0ae-ba2f-4ea9-bbd6-ade96b1912b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsNet_6f8bf49c-0666-4ab7-83bd-3df9fcda3783" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_4a08f0ae-ba2f-4ea9-bbd6-ade96b1912b2" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_48084b49-ac51-4481-b9c6-4454b2a403f1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_9b52776e-9738-4227-aea4-72c46852ec62" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_48084b49-ac51-4481-b9c6-4454b2a403f1" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_9b52776e-9738-4227-aea4-72c46852ec62" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_d56ece1d-7bae-479a-bfb3-0f40efda7eb6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_48084b49-ac51-4481-b9c6-4454b2a403f1" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_d56ece1d-7bae-479a-bfb3-0f40efda7eb6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_e1ac5863-9112-4abf-afb9-7443e591f7e6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_48084b49-ac51-4481-b9c6-4454b2a403f1" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_e1ac5863-9112-4abf-afb9-7443e591f7e6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_3dae4fca-7ad6-4bbc-bbb3-b4469e6928da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_48084b49-ac51-4481-b9c6-4454b2a403f1" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_3dae4fca-7ad6-4bbc-bbb3-b4469e6928da" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_33aea9a5-9a9a-415c-8182-d0e3224f17d1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_ab9b5892-50f4-413c-99d1-8950bcae807a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_33aea9a5-9a9a-415c-8182-d0e3224f17d1" xlink:to="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_ab9b5892-50f4-413c-99d1-8950bcae807a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ProvisionToReturnAdjustments_0d8d4313-80c7-43e2-b48d-a9365ebdca0c" xlink:href="cpsi-20211231.xsd#cpsi_ProvisionToReturnAdjustments"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_33aea9a5-9a9a-415c-8182-d0e3224f17d1" xlink:to="loc_cpsi_ProvisionToReturnAdjustments_0d8d4313-80c7-43e2-b48d-a9365ebdca0c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_234052d1-aaf0-4d44-a008-74a03a14f228" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_33aea9a5-9a9a-415c-8182-d0e3224f17d1" xlink:to="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_234052d1-aaf0-4d44-a008-74a03a14f228" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxCredits_4d6ed453-f1c5-4e2c-8f1c-ad7a58c8a080" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationTaxCredits"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_33aea9a5-9a9a-415c-8182-d0e3224f17d1" xlink:to="loc_us-gaap_IncomeTaxReconciliationTaxCredits_4d6ed453-f1c5-4e2c-8f1c-ad7a58c8a080" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts_8810ded3-253f-4fdf-b6f8-38f6797af3d2" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_33aea9a5-9a9a-415c-8182-d0e3224f17d1" xlink:to="loc_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts_8810ded3-253f-4fdf-b6f8-38f6797af3d2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_8ef9810a-b88a-4e3a-ad4f-e57fc3ede262" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_33aea9a5-9a9a-415c-8182-d0e3224f17d1" xlink:to="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_8ef9810a-b88a-4e3a-ad4f-e57fc3ede262" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_cea868da-db39-43fc-be96-058f180042c7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_33aea9a5-9a9a-415c-8182-d0e3224f17d1" xlink:to="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_cea868da-db39-43fc-be96-058f180042c7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems_a78e6217-e61f-40da-970e-7579ec630598" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_33aea9a5-9a9a-415c-8182-d0e3224f17d1" xlink:to="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems_a78e6217-e61f-40da-970e-7579ec630598" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation_adc1e208-691f-4b6d-898d-e20bbf962985" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_33aea9a5-9a9a-415c-8182-d0e3224f17d1" xlink:to="loc_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation_adc1e208-691f-4b6d-898d-e20bbf962985" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_4c8db294-d12b-4667-997c-9fdae1cf8111" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_4df36acf-f261-476a-a3ba-d99d7cd0434c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_4c8db294-d12b-4667-997c-9fdae1cf8111" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_4df36acf-f261-476a-a3ba-d99d7cd0434c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_6343b971-d39c-4298-b4be-833d4f5ece38" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_4c8db294-d12b-4667-997c-9fdae1cf8111" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_6343b971-d39c-4298-b4be-833d4f5ece38" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesShortTermPaymentPlansDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableNetCurrent_73e48fd6-95de-44dc-ad42-b2d386b5fe28" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableGrossCurrent_92abe48e-7873-4971-87bd-b36ad392dffe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableGrossCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NotesAndLoansReceivableNetCurrent_73e48fd6-95de-44dc-ad42-b2d386b5fe28" xlink:to="loc_us-gaap_NotesAndLoansReceivableGrossCurrent_92abe48e-7873-4971-87bd-b36ad392dffe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForNotesAndLoansReceivableCurrent_6eb1dee4-b17e-4428-a00a-8c1ef8307a0a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForNotesAndLoansReceivableCurrent"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NotesAndLoansReceivableNetCurrent_73e48fd6-95de-44dc-ad42-b2d386b5fe28" xlink:to="loc_us-gaap_AllowanceForNotesAndLoansReceivableCurrent_6eb1dee4-b17e-4428-a00a-8c1ef8307a0a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesComponentsofLeaseReceivablesDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableNet_44ae26ab-c06a-46be-a123-fd0780470146" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableGross_c280f6ae-4de8-427b-bfe6-01faa802049f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NotesReceivableNet_44ae26ab-c06a-46be-a123-fd0780470146" xlink:to="loc_us-gaap_NotesReceivableGross_c280f6ae-4de8-427b-bfe6-01faa802049f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_d3705a07-6248-4ea9-8012-75e6e5643163" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NotesReceivableNet_44ae26ab-c06a-46be-a123-fd0780470146" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_d3705a07-6248-4ea9-8012-75e6e5643163" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableDeferredIncome_d9beb5c8-f0bc-4d5a-b1e8-27b5f6a789e1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableDeferredIncome"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NotesReceivableNet_44ae26ab-c06a-46be-a123-fd0780470146" xlink:to="loc_us-gaap_FinancingReceivableDeferredIncome_d9beb5c8-f0bc-4d5a-b1e8-27b5f6a789e1" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesFutureMinimumLeasePaymentsDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableNet_9987f07f-850b-4e74-90a8-46f23e4769c4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_610c53df-308a-4e61-9ba9-21d05610feb3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NotesReceivableNet_9987f07f-850b-4e74-90a8-46f23e4769c4" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_610c53df-308a-4e61-9ba9-21d05610feb3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableDeferredIncome_f028c308-69b7-4440-a3fa-26de1dd51149" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableDeferredIncome"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NotesReceivableNet_9987f07f-850b-4e74-90a8-46f23e4769c4" xlink:to="loc_us-gaap_FinancingReceivableDeferredIncome_f028c308-69b7-4440-a3fa-26de1dd51149" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_2af02600-b303-4b94-b8dd-cafbd7816648" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NotesReceivableNet_9987f07f-850b-4e74-90a8-46f23e4769c4" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_2af02600-b303-4b94-b8dd-cafbd7816648" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_85022ee8-79cc-44d6-b834-34aa04887109" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths_85e99a5d-ae22-4cab-bca7-825121b4f0a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_85022ee8-79cc-44d6-b834-34aa04887109" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths_85e99a5d-ae22-4cab-bca7-825121b4f0a1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter_72b04840-c38f-477f-9614-db4a500ea66b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_85022ee8-79cc-44d6-b834-34aa04887109" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter_72b04840-c38f-477f-9614-db4a500ea66b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears_d8ce9715-b8c5-4631-9a8f-ccc62dad2114" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_85022ee8-79cc-44d6-b834-34aa04887109" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears_d8ce9715-b8c5-4631-9a8f-ccc62dad2114" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears_91114c95-811d-470f-b34f-73a95d6deff4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_85022ee8-79cc-44d6-b834-34aa04887109" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears_91114c95-811d-470f-b34f-73a95d6deff4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears_532866a7-a12c-4498-9423-8281434a07b9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_85022ee8-79cc-44d6-b834-34aa04887109" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears_532866a7-a12c-4498-9423-8281434a07b9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears_5165d846-6a21-4cf4-b0e7-f0a2bfc28dbf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_85022ee8-79cc-44d6-b834-34aa04887109" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears_5165d846-6a21-4cf4-b0e7-f0a2bfc28dbf" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_d9be647a-1ed8-4edc-b682-d78ae5e40813" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_536e9261-e0ff-4f02-bb28-114c47ba5306" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_d9be647a-1ed8-4edc-b682-d78ae5e40813" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_536e9261-e0ff-4f02-bb28-114c47ba5306" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5a886b66-0760-4576-ae9a-04c9954b2fb5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_d9be647a-1ed8-4edc-b682-d78ae5e40813" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5a886b66-0760-4576-ae9a-04c9954b2fb5" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IntangibleAssetsandGoodwillAmortizationDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_36c873ad-261f-4750-916a-b31da0b9b660" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_ac1454c9-7a64-45af-a615-873559cb9d4f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_36c873ad-261f-4750-916a-b31da0b9b660" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_ac1454c9-7a64-45af-a615-873559cb9d4f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7aa7cc55-329b-45ee-8bbb-42af9e94580f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_36c873ad-261f-4750-916a-b31da0b9b660" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7aa7cc55-329b-45ee-8bbb-42af9e94580f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_6dff63e8-b04d-4bbb-b13d-0009f67bf345" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_36c873ad-261f-4750-916a-b31da0b9b660" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_6dff63e8-b04d-4bbb-b13d-0009f67bf345" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_ad441d24-ccda-4c80-a39c-e48e075cf100" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_36c873ad-261f-4750-916a-b31da0b9b660" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_ad441d24-ccda-4c80-a39c-e48e075cf100" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4c82cf13-dbcd-486f-8903-9bd856da5da7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_36c873ad-261f-4750-916a-b31da0b9b660" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4c82cf13-dbcd-486f-8903-9bd856da5da7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_5eed9fed-161a-4b2d-98e8-2088259acc46" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_36c873ad-261f-4750-916a-b31da0b9b660" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_5eed9fed-161a-4b2d-98e8-2088259acc46" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebtScheduleofDebtDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_b1a5171c-dcac-4d65-898c-9469be3fc0e3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_2b116a59-0756-4abb-a827-73478a60179e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_b1a5171c-dcac-4d65-898c-9469be3fc0e3" xlink:to="loc_us-gaap_LongTermDebtCurrent_2b116a59-0756-4abb-a827-73478a60179e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_738563df-ddad-473f-9242-11dcb20b1958" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_b1a5171c-dcac-4d65-898c-9469be3fc0e3" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_738563df-ddad-473f-9242-11dcb20b1958" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails_1" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebtScheduleofDebtDetails_1"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_f84a3f85-6ed8-4a4f-9605-036807d5a09d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_0d333394-1dbb-4e66-9706-d1e33b39dacf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_f84a3f85-6ed8-4a4f-9605-036807d5a09d" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_0d333394-1dbb-4e66-9706-d1e33b39dacf" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_59e35b1f-78eb-439c-a25a-436b90436cb7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsNet"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_f84a3f85-6ed8-4a4f-9605-036807d5a09d" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_59e35b1f-78eb-439c-a25a-436b90436cb7" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebtAnticipatedAnnualFutureMaturitiesDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_23779e1a-2596-4d2c-a2a1-290c6718063c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_669a5a23-8c13-432a-9308-6b5de6238676" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_23779e1a-2596-4d2c-a2a1-290c6718063c" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_669a5a23-8c13-432a-9308-6b5de6238676" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_eca888bd-7a9c-4435-8280-f4a49efb6fe3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_23779e1a-2596-4d2c-a2a1-290c6718063c" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_eca888bd-7a9c-4435-8280-f4a49efb6fe3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_ad41867e-5988-485d-8989-9abd253268f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_23779e1a-2596-4d2c-a2a1-290c6718063c" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_ad41867e-5988-485d-8989-9abd253268f3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_aaf64f8f-8a2c-414a-b688-a942bfc2e997" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_23779e1a-2596-4d2c-a2a1-290c6718063c" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_aaf64f8f-8a2c-414a-b688-a942bfc2e997" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtMaturityAfterYearFour_f0975865-ce2f-4058-a17d-f201deb437a2" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtMaturityAfterYearFour"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LongTermDebt_23779e1a-2596-4d2c-a2a1-290c6718063c" xlink:to="loc_cpsi_LongTermDebtMaturityAfterYearFour_f0975865-ce2f-4058-a17d-f201deb437a2" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OperatingLeasesSupplementalBalanceSheetInformationDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_7539aaa4-d1f7-4204-a077-83c0a8a28499" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_4cbf3134-5bee-4920-9b47-95f9d1a4e366" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_7539aaa4-d1f7-4204-a077-83c0a8a28499" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_4cbf3134-5bee-4920-9b47-95f9d1a4e366" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_81ad8c37-928f-40b9-b8ab-9d12ff263440" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_7539aaa4-d1f7-4204-a077-83c0a8a28499" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_81ad8c37-928f-40b9-b8ab-9d12ff263440" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_bbfd261d-865d-4ad4-9786-8b8856b32a61" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_ae495251-5d84-4707-95ba-1e6752406d78" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_bbfd261d-865d-4ad4-9786-8b8856b32a61" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_ae495251-5d84-4707-95ba-1e6752406d78" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_f60ca0d9-ca22-4ed4-b8e1-d95c78a0c0df" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_bbfd261d-865d-4ad4-9786-8b8856b32a61" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_f60ca0d9-ca22-4ed4-b8e1-d95c78a0c0df" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_4e611f61-f32d-4187-aa86-e044e5f8cd69" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_bbfd261d-865d-4ad4-9786-8b8856b32a61" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_4e611f61-f32d-4187-aa86-e044e5f8cd69" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_ae574bf9-d982-4511-9830-0589ad40aa1b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_bbfd261d-865d-4ad4-9786-8b8856b32a61" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_ae574bf9-d982-4511-9830-0589ad40aa1b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_7fe871a4-3514-4d95-91c1-f8370db1d64e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_bbfd261d-865d-4ad4-9786-8b8856b32a61" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_7fe871a4-3514-4d95-91c1-f8370db1d64e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_2fd209f0-135d-4bf2-af40-790fcb46adb7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_bbfd261d-865d-4ad4-9786-8b8856b32a61" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_2fd209f0-135d-4bf2-af40-790fcb46adb7" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails_1" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails_1"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_dce2a0b1-0670-4bdc-ad7d-654e02fd8118" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_d18bbefa-4c0c-4406-b5b0-5860f071707b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_dce2a0b1-0670-4bdc-ad7d-654e02fd8118" xlink:to="loc_us-gaap_OperatingLeaseLiability_d18bbefa-4c0c-4406-b5b0-5860f071707b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_56075561-8ff4-45b4-b9ff-60bf392e7c7b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_dce2a0b1-0670-4bdc-ad7d-654e02fd8118" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_56075561-8ff4-45b4-b9ff-60bf392e7c7b" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FairValueDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FairValueDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/FairValueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityFairValueDisclosure_71d0d1c2-1533-4bcb-be9c-aa2bebbcb8be" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_320769fc-89b4-41de-90b7-1dc4277e10e3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EquityFairValueDisclosure_71d0d1c2-1533-4bcb-be9c-aa2bebbcb8be" xlink:to="loc_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_320769fc-89b4-41de-90b7-1dc4277e10e3" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SegmentReportingDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SegmentReportingDetails"/>
  <link:calculationLink xlink:role="http://www.cpsinet.com/role/SegmentReportingDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_caadb055-a853-487c-b1a3-d15cb8aadcfc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_3ad1168d-c71d-4b87-903a-92c1a17cb3f0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_caadb055-a853-487c-b1a3-d15cb8aadcfc" xlink:to="loc_us-gaap_GrossProfit_3ad1168d-c71d-4b87-903a-92c1a17cb3f0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_332fd21b-3a44-4d8b-9eb8-8d3e9325c778" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_caadb055-a853-487c-b1a3-d15cb8aadcfc" xlink:to="loc_us-gaap_OperatingExpenses_332fd21b-3a44-4d8b-9eb8-8d3e9325c778" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncome_e9130b7e-3dab-4490-a271-ec6e7276bab4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncome"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_caadb055-a853-487c-b1a3-d15cb8aadcfc" xlink:to="loc_us-gaap_OtherNonoperatingIncome_e9130b7e-3dab-4490-a271-ec6e7276bab4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_11eee814-e7c3-44fa-9835-80c0936520ab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_caadb055-a853-487c-b1a3-d15cb8aadcfc" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_11eee814-e7c3-44fa-9835-80c0936520ab" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_a057c1d0-6815-4a6f-bcb1-f2f4340b1459" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_caadb055-a853-487c-b1a3-d15cb8aadcfc" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_a057c1d0-6815-4a6f-bcb1-f2f4340b1459" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_06ec31ff-c26c-43c9-b969-6fcdae0a99cd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_caadb055-a853-487c-b1a3-d15cb8aadcfc" xlink:to="loc_us-gaap_InterestExpense_06ec31ff-c26c-43c9-b969-6fcdae0a99cd" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>9
<FILENAME>cpsi-20211231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:5f089e39-5400-42a6-8cf7-a58d1803f56b,g:4b2da0af-6aab-4056-86f4-46579ce6ecbb-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ConsolidatedStatementsofOperations"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/ConsolidatedStatementsofOperations" xlink:type="extended" id="id9bed6ce135b4c7aa4772d20334b8832_ConsolidatedStatementsofOperations">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesAbstract_0270517e-7b3e-4a5b-8e59-1c5528ea00d9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenuesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_RevenuesAbstract_0270517e-7b3e-4a5b-8e59-1c5528ea00d9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_7366e3dd-c6f0-4d0d-b43e-b0a262333475" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenuesAbstract_0270517e-7b3e-4a5b-8e59-1c5528ea00d9" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_7366e3dd-c6f0-4d0d-b43e-b0a262333475" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSoldAbstract_e39e6e1a-25d7-4385-8827-9229c99451c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSoldAbstract_e39e6e1a-25d7-4385-8827-9229c99451c2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_1027cc59-6988-4944-9f87-9b1f741967dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSoldAbstract_e39e6e1a-25d7-4385-8827-9229c99451c2" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_1027cc59-6988-4944-9f87-9b1f741967dc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_03a093db-d545-492b-bd9c-d4264f7232aa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_GrossProfit_03a093db-d545-492b-bd9c-d4264f7232aa" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_125f5d34-0bd9-4577-bbbb-e10edb0d73a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_125f5d34-0bd9-4577-bbbb-e10edb0d73a8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_1861f455-44fd-4c38-8b9a-eb9690413c04" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:to="loc_us-gaap_SellingAndMarketingExpense_1861f455-44fd-4c38-8b9a-eb9690413c04" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_ad60b244-075b-4cac-98b5-c8733eadea19" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_ad60b244-075b-4cac-98b5-c8733eadea19" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_d79f931f-3ce0-425f-81f5-f6a2f5126852" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_d79f931f-3ce0-425f-81f5-f6a2f5126852" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_e7c94449-2220-415e-87e5-7fd3a078b89f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:to="loc_us-gaap_OperatingExpenses_e7c94449-2220-415e-87e5-7fd3a078b89f" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_c253814d-2927-4174-b90d-364050941d7e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_OperatingIncomeLoss_c253814d-2927-4174-b90d-364050941d7e" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncome_c5dd03a2-0779-4aac-8586-bac88f81769e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncome"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:to="loc_us-gaap_OtherNonoperatingIncome_c5dd03a2-0779-4aac-8586-bac88f81769e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_e9b6a72e-87e1-48dc-851b-2f3b076f3dc6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_e9b6a72e-87e1-48dc-851b-2f3b076f3dc6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_0b94f375-00c8-4477-a95d-ffcc47cb6aec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_0b94f375-00c8-4477-a95d-ffcc47cb6aec" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_6e9d19bc-c41b-4780-844e-61fd06d60820" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:to="loc_us-gaap_InterestExpense_6e9d19bc-c41b-4780-844e-61fd06d60820" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_ca27726a-a91d-4de2-b66c-aa2abe9004de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_ca27726a-a91d-4de2-b66c-aa2abe9004de" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_85c5dc63-769c-47be-a7c0-be97b272099d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_85c5dc63-769c-47be-a7c0-be97b272099d" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_4f3be059-157b-490e-9c3e-0fb41dbbb2e6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_4f3be059-157b-490e-9c3e-0fb41dbbb2e6" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_8848ae11-38fb-44c0-a9ca-aba36e56c4af" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_NetIncomeLoss_8848ae11-38fb-44c0-a9ca-aba36e56c4af" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_1e6f7e18-dad3-4c04-a92c-9335f8b77714" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_EarningsPerShareBasic_1e6f7e18-dad3-4c04-a92c-9335f8b77714" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_78aeb279-ac2d-4b88-85d8-f7b0098e2f55" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_EarningsPerShareDiluted_78aeb279-ac2d-4b88-85d8-f7b0098e2f55" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_2235d381-1eca-4c20-9a4d-c69629b970fa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_2235d381-1eca-4c20-9a4d-c69629b970fa" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_d8376a0c-6c15-47e6-affc-f74200b215a6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_2235d381-1eca-4c20-9a4d-c69629b970fa" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_d8376a0c-6c15-47e6-affc-f74200b215a6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_12203684-d755-4719-98d4-f12633274938" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_2235d381-1eca-4c20-9a4d-c69629b970fa" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_12203684-d755-4719-98d4-f12633274938" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_ec97384b-2128-414f-92ac-317c1439f113" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_StatementTable_ec97384b-2128-414f-92ac-317c1439f113" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_618e7ced-d693-4898-b403-9ea0f0de20ac" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_ec97384b-2128-414f-92ac-317c1439f113" xlink:to="loc_srt_ProductOrServiceAxis_618e7ced-d693-4898-b403-9ea0f0de20ac" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_618e7ced-d693-4898-b403-9ea0f0de20ac_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_618e7ced-d693-4898-b403-9ea0f0de20ac" xlink:to="loc_srt_ProductsAndServicesDomain_618e7ced-d693-4898-b403-9ea0f0de20ac_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_a6bc29fb-51a3-4318-a93b-6319790a597d" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_618e7ced-d693-4898-b403-9ea0f0de20ac" xlink:to="loc_srt_ProductsAndServicesDomain_a6bc29fb-51a3-4318-a93b-6319790a597d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember_8360a785-19b8-4999-b3c6-19502a1449de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_a6bc29fb-51a3-4318-a93b-6319790a597d" xlink:to="loc_us-gaap_ProductMember_8360a785-19b8-4999-b3c6-19502a1449de" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ServiceMember_5a98cfe1-8019-40fd-be58-8729606ea7f0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ServiceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_a6bc29fb-51a3-4318-a93b-6319790a597d" xlink:to="loc_us-gaap_ServiceMember_5a98cfe1-8019-40fd-be58-8729606ea7f0" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ConsolidatedStatementsofStockholdersEquity"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="extended" id="ic57fa6e954594b9b8b23b529ea4fc199_ConsolidatedStatementsofStockholdersEquity">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_4f49cd35-a349-492e-9f0f-ee29cf3cc20d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_4f49cd35-a349-492e-9f0f-ee29cf3cc20d" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_8db50305-229c-40d4-84e7-4b94a8824316" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_SharesIssued_8db50305-229c-40d4-84e7-4b94a8824316" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_29616d56-6b57-40e8-8dd6-928d19881d81" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockholdersEquity_29616d56-6b57-40e8-8dd6-928d19881d81" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_9eb76238-2502-4638-bae1-817d07c6cc31" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_NetIncomeLoss_9eb76238-2502-4638-bae1-817d07c6cc31" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_8d70a13c-dcb3-47fa-92d4-746d1efd67f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_8d70a13c-dcb3-47fa-92d4-746d1efd67f3" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_9ad22ab2-3dc1-465a-aded-cb93d6cd4cb3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_9ad22ab2-3dc1-465a-aded-cb93d6cd4cb3" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_3346dacc-a077-43ad-8641-af9fe56065ec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_3346dacc-a077-43ad-8641-af9fe56065ec" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_1296525a-dcc3-4d50-9953-d3ada5db3da4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_1296525a-dcc3-4d50-9953-d3ada5db3da4" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited_3f73a522-78d2-4c27-b601-f825e7e065ec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited_3f73a522-78d2-4c27-b601-f825e7e065ec" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_285c51a0-c7e8-45b3-903d-c7d63fa4839a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_285c51a0-c7e8-45b3-903d-c7d63fa4839a" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_651c1776-3602-4fcb-8d2b-f80a27386aca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_651c1776-3602-4fcb-8d2b-f80a27386aca" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Dividends_1726ebc9-2391-429d-b5f1-3f12e0cfc98e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Dividends"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_Dividends_1726ebc9-2391-429d-b5f1-3f12e0cfc98e" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_0c01bae2-c53c-42eb-b7f8-11c28c17ce6d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesIssued"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_d9eea0f7-d436-4dfb-9535-8fc5c671be13" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_d95c12b2-92df-40b2-882a-0e78589392a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_4f49cd35-a349-492e-9f0f-ee29cf3cc20d" xlink:to="loc_us-gaap_StatementTable_d95c12b2-92df-40b2-882a-0e78589392a1" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_d285fea5-8eb5-42aa-a737-41392b9fd98b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_d95c12b2-92df-40b2-882a-0e78589392a1" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_d285fea5-8eb5-42aa-a737-41392b9fd98b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_d285fea5-8eb5-42aa-a737-41392b9fd98b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_d285fea5-8eb5-42aa-a737-41392b9fd98b" xlink:to="loc_us-gaap_EquityComponentDomain_d285fea5-8eb5-42aa-a737-41392b9fd98b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_d285fea5-8eb5-42aa-a737-41392b9fd98b" xlink:to="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_bf9c19c8-b552-4492-a634-a7eebff37767" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:to="loc_us-gaap_CommonStockMember_bf9c19c8-b552-4492-a634-a7eebff37767" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_5a9a00f5-4e16-43d0-aafc-cffe042d22e1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_5a9a00f5-4e16-43d0-aafc-cffe042d22e1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_0edb866e-c766-42c3-91dd-5bc16cebca02" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:to="loc_us-gaap_RetainedEarningsMember_0edb866e-c766-42c3-91dd-5bc16cebca02" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember_9c56c890-b3ec-4331-bf29-17725ef9ecfb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:to="loc_us-gaap_TreasuryStockMember_9c56c890-b3ec-4331-bf29-17725ef9ecfb" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="extended" id="ie5bfa11370ba4a6c9de862e277030840_SummaryofSignificantAccountingPoliciesAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_5d255ff3-e665-4486-a94c-fc00afe28f6f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_5d255ff3-e665-4486-a94c-fc00afe28f6f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_b9a0ab9f-4a0b-44a5-b2c9-35c9613e0d6c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_b9a0ab9f-4a0b-44a5-b2c9-35c9613e0d6c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_616d1f61-d511-4b53-a5ec-b6cd5f983f17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_NetIncomeLoss_616d1f61-d511-4b53-a5ec-b6cd5f983f17" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_9d7eae21-bdb8-4201-8ce7-50a9541e76ba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_EarningsPerShareBasic_9d7eae21-bdb8-4201-8ce7-50a9541e76ba" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_43c83044-7a13-46ae-8e41-9389669eb012" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_EarningsPerShareDiluted_43c83044-7a13-46ae-8e41-9389669eb012" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_RevenuePerformanceObligationDescriptionOfTiming1_6864ffd0-1dfb-434d-ad1c-a1c349c085b5" xlink:href="cpsi-20211231.xsd#cpsi_RevenuePerformanceObligationDescriptionOfTiming1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_cpsi_RevenuePerformanceObligationDescriptionOfTiming1_6864ffd0-1dfb-434d-ad1c-a1c349c085b5" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss_8e6dc8b0-48ab-4c30-843a-b8fb24a092bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_GoodwillImpairmentLoss_8e6dc8b0-48ab-4c30-843a-b8fb24a092bd" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_130a6c02-7d1c-473e-afe9-0382d4e4b824" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_130a6c02-7d1c-473e-afe9-0382d4e4b824" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_8b487b68-6813-46a1-ac28-b2047628d1e2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_8b487b68-6813-46a1-ac28-b2047628d1e2" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_bcd356f3-b674-44ae-8df8-c28a03bc596b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_bcd356f3-b674-44ae-8df8-c28a03bc596b" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_95bb6793-b0b5-43d9-8fb2-ddde6acee49e" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_srt_RangeAxis_95bb6793-b0b5-43d9-8fb2-ddde6acee49e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_95bb6793-b0b5-43d9-8fb2-ddde6acee49e_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_95bb6793-b0b5-43d9-8fb2-ddde6acee49e" xlink:to="loc_srt_RangeMember_95bb6793-b0b5-43d9-8fb2-ddde6acee49e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_d785fba0-862a-46e6-922f-8621a5c3af14" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_95bb6793-b0b5-43d9-8fb2-ddde6acee49e" xlink:to="loc_srt_RangeMember_d785fba0-862a-46e6-922f-8621a5c3af14" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_e25d8b75-4380-4758-938e-b8f404d189ad" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_d785fba0-862a-46e6-922f-8621a5c3af14" xlink:to="loc_srt_MinimumMember_e25d8b75-4380-4758-938e-b8f404d189ad" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b01fe726-7f49-4c37-bd38-ba9bb5342f7f" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_d785fba0-862a-46e6-922f-8621a5c3af14" xlink:to="loc_srt_MaximumMember_b01fe726-7f49-4c37-bd38-ba9bb5342f7f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_14e48beb-b5bf-405e-be02-ac6711e09c65" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_srt_ConsolidationItemsAxis_14e48beb-b5bf-405e-be02-ac6711e09c65" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_14e48beb-b5bf-405e-be02-ac6711e09c65_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_14e48beb-b5bf-405e-be02-ac6711e09c65" xlink:to="loc_srt_ConsolidationItemsDomain_14e48beb-b5bf-405e-be02-ac6711e09c65_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_e0a49d3f-ea9e-4ed8-861b-d4891ecd36b4" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_14e48beb-b5bf-405e-be02-ac6711e09c65" xlink:to="loc_srt_ConsolidationItemsDomain_e0a49d3f-ea9e-4ed8-861b-d4891ecd36b4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_e5a5f50f-0f38-4d25-a6aa-f1027c8374c8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_e0a49d3f-ea9e-4ed8-861b-d4891ecd36b4" xlink:to="loc_us-gaap_OperatingSegmentsMember_e5a5f50f-0f38-4d25-a6aa-f1027c8374c8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_489703c9-ecf7-4a94-9dfd-134426a46348" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_489703c9-ecf7-4a94-9dfd-134426a46348" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_489703c9-ecf7-4a94-9dfd-134426a46348_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_489703c9-ecf7-4a94-9dfd-134426a46348" xlink:to="loc_us-gaap_SegmentDomain_489703c9-ecf7-4a94-9dfd-134426a46348_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_fc8c5e03-c131-46dd-97cf-c0c4d0ec21b7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_489703c9-ecf7-4a94-9dfd-134426a46348" xlink:to="loc_us-gaap_SegmentDomain_fc8c5e03-c131-46dd-97cf-c0c4d0ec21b7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PostAcuteCareMember_ab17a861-d7f1-4118-8a94-3f83cb2eccea" xlink:href="cpsi-20211231.xsd#cpsi_PostAcuteCareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_fc8c5e03-c131-46dd-97cf-c0c4d0ec21b7" xlink:to="loc_cpsi_PostAcuteCareMember_ab17a861-d7f1-4118-8a94-3f83cb2eccea" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a0b85972-f96d-4944-a342-9ae37d7c65d9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a0b85972-f96d-4944-a342-9ae37d7c65d9" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_a0b85972-f96d-4944-a342-9ae37d7c65d9_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a0b85972-f96d-4944-a342-9ae37d7c65d9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_a0b85972-f96d-4944-a342-9ae37d7c65d9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3cabfb2f-708e-4664-bb0f-063d80709909" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a0b85972-f96d-4944-a342-9ae37d7c65d9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3cabfb2f-708e-4664-bb0f-063d80709909" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_043f8379-8364-49c6-9139-a55ff84ed4b1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3cabfb2f-708e-4664-bb0f-063d80709909" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_043f8379-8364-49c6-9139-a55ff84ed4b1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_52bc5c67-b733-4eec-98f4-713073b5329d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3cabfb2f-708e-4664-bb0f-063d80709909" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_52bc5c67-b733-4eec-98f4-713073b5329d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementAxis_7707f0af-266b-43dd-ab53-16fa19020322" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_srt_RestatementAxis_7707f0af-266b-43dd-ab53-16fa19020322" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementDomain_7707f0af-266b-43dd-ab53-16fa19020322_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RestatementAxis_7707f0af-266b-43dd-ab53-16fa19020322" xlink:to="loc_srt_RestatementDomain_7707f0af-266b-43dd-ab53-16fa19020322_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementDomain_636c86e6-f68d-4da0-bf04-241442edb037" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RestatementAxis_7707f0af-266b-43dd-ab53-16fa19020322" xlink:to="loc_srt_RestatementDomain_636c86e6-f68d-4da0-bf04-241442edb037" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioPreviouslyReportedMember_ac895c8d-b03a-48be-8e22-7d0eeebe9965" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioPreviouslyReportedMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RestatementDomain_636c86e6-f68d-4da0-bf04-241442edb037" xlink:to="loc_srt_ScenarioPreviouslyReportedMember_ac895c8d-b03a-48be-8e22-7d0eeebe9965" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember_57fd61c1-dee2-4c88-be33-252e9fc36ea1" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RestatementDomain_636c86e6-f68d-4da0-bf04-241442edb037" xlink:to="loc_srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember_57fd61c1-dee2-4c88-be33-252e9fc36ea1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_86cf57a5-7c61-4ff5-857e-1b51949066d7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_86cf57a5-7c61-4ff5-857e-1b51949066d7" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_86cf57a5-7c61-4ff5-857e-1b51949066d7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_86cf57a5-7c61-4ff5-857e-1b51949066d7" xlink:to="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_86cf57a5-7c61-4ff5-857e-1b51949066d7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_4a34f079-34da-49e0-a51f-904cc18214dd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_86cf57a5-7c61-4ff5-857e-1b51949066d7" xlink:to="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_4a34f079-34da-49e0-a51f-904cc18214dd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsAmortizationPeriodMember_40805af2-c7b0-4422-84c3-00127a5756d1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsAmortizationPeriodMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_4a34f079-34da-49e0-a51f-904cc18214dd" xlink:to="loc_us-gaap_IntangibleAssetsAmortizationPeriodMember_40805af2-c7b0-4422-84c3-00127a5756d1" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails" xlink:type="extended" id="i8d0fbceb223c4d6bbedcd1336139ee73_SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationLineItems_b806bbbe-feb1-45ec-b9b2-af1b8e8512b4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReclassificationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_afd09834-35dc-478b-907d-806eeb9318a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ReclassificationLineItems_b806bbbe-feb1-45ec-b9b2-af1b8e8512b4" xlink:to="loc_us-gaap_SellingAndMarketingExpense_afd09834-35dc-478b-907d-806eeb9318a1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_30afc8b9-83b5-41eb-a44f-6fa33c691bc3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ReclassificationLineItems_b806bbbe-feb1-45ec-b9b2-af1b8e8512b4" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_30afc8b9-83b5-41eb-a44f-6fa33c691bc3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationTable_99fb8964-6562-451f-8577-479b4d266e8d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReclassificationTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ReclassificationLineItems_b806bbbe-feb1-45ec-b9b2-af1b8e8512b4" xlink:to="loc_us-gaap_ReclassificationTable_99fb8964-6562-451f-8577-479b4d266e8d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementAxis_7cfe7a14-6a6b-44e7-a049-98797dc42fae" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReclassificationTable_99fb8964-6562-451f-8577-479b4d266e8d" xlink:to="loc_srt_RestatementAxis_7cfe7a14-6a6b-44e7-a049-98797dc42fae" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementDomain_7cfe7a14-6a6b-44e7-a049-98797dc42fae_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RestatementAxis_7cfe7a14-6a6b-44e7-a049-98797dc42fae" xlink:to="loc_srt_RestatementDomain_7cfe7a14-6a6b-44e7-a049-98797dc42fae_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementDomain_5bf098e5-2898-4cad-85bd-dad96b57fccb" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RestatementAxis_7cfe7a14-6a6b-44e7-a049-98797dc42fae" xlink:to="loc_srt_RestatementDomain_5bf098e5-2898-4cad-85bd-dad96b57fccb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioPreviouslyReportedMember_16ae13c5-120f-485e-9d1f-9d44cc6cb923" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioPreviouslyReportedMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RestatementDomain_5bf098e5-2898-4cad-85bd-dad96b57fccb" xlink:to="loc_srt_ScenarioPreviouslyReportedMember_16ae13c5-120f-485e-9d1f-9d44cc6cb923" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember_8a633524-6e5e-4c14-9936-2bc7ad304a08" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RestatementDomain_5bf098e5-2898-4cad-85bd-dad96b57fccb" xlink:to="loc_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember_8a633524-6e5e-4c14-9936-2bc7ad304a08" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" xlink:type="extended" id="iaa7886fe961e474d8380e6bc0e502d16_SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_e2f6de7e-529e-4b13-99f4-f6ae464e2008" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_f0c84f7c-935e-4deb-b125-d2f1af2f1445" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_e2f6de7e-529e-4b13-99f4-f6ae464e2008" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_f0c84f7c-935e-4deb-b125-d2f1af2f1445" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6e9b374f-46d7-40cf-9b11-1bc5e3b6f42f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_e2f6de7e-529e-4b13-99f4-f6ae464e2008" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6e9b374f-46d7-40cf-9b11-1bc5e3b6f42f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d7a55215-66c9-48cf-8b3f-d0b8dcf1fc77" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6e9b374f-46d7-40cf-9b11-1bc5e3b6f42f" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d7a55215-66c9-48cf-8b3f-d0b8dcf1fc77" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d7a55215-66c9-48cf-8b3f-d0b8dcf1fc77_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d7a55215-66c9-48cf-8b3f-d0b8dcf1fc77" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d7a55215-66c9-48cf-8b3f-d0b8dcf1fc77_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d81f6041-3421-4701-8528-9c60aea6f92e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d7a55215-66c9-48cf-8b3f-d0b8dcf1fc77" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d81f6041-3421-4701-8528-9c60aea6f92e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_974fe770-6a60-4c28-bb1e-b0e9c2694595" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d81f6041-3421-4701-8528-9c60aea6f92e" xlink:to="loc_us-gaap_ComputerEquipmentMember_974fe770-6a60-4c28-bb1e-b0e9c2694595" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_f172a394-6bdb-4429-aa78-98173f7f7025" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d81f6041-3421-4701-8528-9c60aea6f92e" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_f172a394-6bdb-4429-aa78-98173f7f7025" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingMember_ae795eef-afb3-4112-bfd1-922d960cbbee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d81f6041-3421-4701-8528-9c60aea6f92e" xlink:to="loc_us-gaap_BuildingMember_ae795eef-afb3-4112-bfd1-922d960cbbee" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BusinessCombinationNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails" xlink:type="extended" id="i5cddc3dbe374464a8b5f202750f67340_BusinessCombinationNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_0767804a-2750-44b7-96d6-c04e12a4e305" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_0767804a-2750-44b7-96d6-c04e12a4e305" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh_fafb1039-ee93-4a6b-8a3e-870ff1676914" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh_fafb1039-ee93-4a6b-8a3e-870ff1676914" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_c3d74102-3807-43ae-9496-8c951b26e343" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_c3d74102-3807-43ae-9496-8c951b26e343" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_ab9368f2-513a-4df5-8da7-95ac7d8eb93c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_ab9368f2-513a-4df5-8da7-95ac7d8eb93c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_5fa4b2a1-9f7f-4edd-8ee0-1445259eef0c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_5fa4b2a1-9f7f-4edd-8ee0-1445259eef0c" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual_0afed989-2575-4ca4-8588-16da1aa79bf7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual_0afed989-2575-4ca4-8588-16da1aa79bf7" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_23e05887-6526-4e47-a5a7-00c219a3c452" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_23e05887-6526-4e47-a5a7-00c219a3c452" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_2c08e6c7-e193-456a-b4fe-140f091701b8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_23e05887-6526-4e47-a5a7-00c219a3c452" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_2c08e6c7-e193-456a-b4fe-140f091701b8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_2c08e6c7-e193-456a-b4fe-140f091701b8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2c08e6c7-e193-456a-b4fe-140f091701b8" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_2c08e6c7-e193-456a-b4fe-140f091701b8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_86dbeeea-dcb8-4e52-b630-81d947271e11" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2c08e6c7-e193-456a-b4fe-140f091701b8" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_86dbeeea-dcb8-4e52-b630-81d947271e11" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TruCodeLLCMember_aa3f7d09-7969-40fb-81f4-81915320fbfc" xlink:href="cpsi-20211231.xsd#cpsi_TruCodeLLCMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_86dbeeea-dcb8-4e52-b630-81d947271e11" xlink:to="loc_cpsi_TruCodeLLCMember_aa3f7d09-7969-40fb-81f4-81915320fbfc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_iNetXpertsCorpMember_9923a9a5-5fd1-42c7-b668-ff9b828068fd" xlink:href="cpsi-20211231.xsd#cpsi_iNetXpertsCorpMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_86dbeeea-dcb8-4e52-b630-81d947271e11" xlink:to="loc_cpsi_iNetXpertsCorpMember_9923a9a5-5fd1-42c7-b668-ff9b828068fd" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails" xlink:type="extended" id="i10fdf7d6c7884a44a342aff5bd16b8e5_BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_d6e94348-6001-44b7-8ae3-eddae517e287" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_d6e94348-6001-44b7-8ae3-eddae517e287" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_d8fd11ad-df7a-4b87-8c99-70cb21b0f9eb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_d8fd11ad-df7a-4b87-8c99-70cb21b0f9eb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_0321e297-507e-4f07-92e9-c0b2d018c8ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_0321e297-507e-4f07-92e9-c0b2d018c8ed" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_e825a156-d94e-4c10-8c7c-46286671cb17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_e825a156-d94e-4c10-8c7c-46286671cb17" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset_e5a4f03d-5d63-444f-aa71-a5987923fc99" xlink:href="cpsi-20211231.xsd#cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset_e5a4f03d-5d63-444f-aa71-a5987923fc99" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_a9a33719-dc01-4bd5-9d49-7f08841bec3d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_a9a33719-dc01-4bd5-9d49-7f08841bec3d" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_20348f00-4896-41e6-b7d4-f755968a6e05" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_Goodwill_20348f00-4896-41e6-b7d4-f755968a6e05" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_78b093d6-5bcb-4a85-be1f-c4c34ae60cb4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_78b093d6-5bcb-4a85-be1f-c4c34ae60cb4" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_c902f955-f833-4e6a-baf0-a10bc4507bc3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_c902f955-f833-4e6a-baf0-a10bc4507bc3" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation_4867f00e-3f8b-4c23-9fa4-818381c7cdb0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation_4867f00e-3f8b-4c23-9fa4-818381c7cdb0" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability_5cea1ba5-445b-4645-aaa6-5dc5f2084e76" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability_5cea1ba5-445b-4645-aaa6-5dc5f2084e76" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability_3682c773-ad21-4d0e-a7ff-d992f8de8f3f" xlink:href="cpsi-20211231.xsd#cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability_3682c773-ad21-4d0e-a7ff-d992f8de8f3f" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_7b78c62a-4a5f-4d67-8fc0-028207dc1f52" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_7b78c62a-4a5f-4d67-8fc0-028207dc1f52" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_37543b85-dc08-4cd8-aa0c-0638152e92b1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_37543b85-dc08-4cd8-aa0c-0638152e92b1" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_69fbdb81-ba5e-4ab4-8c8f-6ecf78dc74cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_37543b85-dc08-4cd8-aa0c-0638152e92b1" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_69fbdb81-ba5e-4ab4-8c8f-6ecf78dc74cf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_69fbdb81-ba5e-4ab4-8c8f-6ecf78dc74cf_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_69fbdb81-ba5e-4ab4-8c8f-6ecf78dc74cf" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_69fbdb81-ba5e-4ab4-8c8f-6ecf78dc74cf_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e71b7d8c-6111-4370-b730-82b43a336ca1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_69fbdb81-ba5e-4ab4-8c8f-6ecf78dc74cf" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e71b7d8c-6111-4370-b730-82b43a336ca1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TruCodeLLCMember_503e5217-0f0f-406e-8c23-12625d645991" xlink:href="cpsi-20211231.xsd#cpsi_TruCodeLLCMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e71b7d8c-6111-4370-b730-82b43a336ca1" xlink:to="loc_cpsi_TruCodeLLCMember_503e5217-0f0f-406e-8c23-12625d645991" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_iNetXpertsCorpMember_b70b0283-eb30-4dcd-a976-a6cd696709b8" xlink:href="cpsi-20211231.xsd#cpsi_iNetXpertsCorpMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e71b7d8c-6111-4370-b730-82b43a336ca1" xlink:to="loc_cpsi_iNetXpertsCorpMember_b70b0283-eb30-4dcd-a976-a6cd696709b8" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BusinessCombinationProformainformationDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails" xlink:type="extended" id="ib619557848a94f07a5a8cd0765723768_BusinessCombinationProformainformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_3df9991c-8ac2-473c-b0b2-672a22a0e846" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_cd1d904f-12f2-4884-b701-8965e49e8b92" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_3df9991c-8ac2-473c-b0b2-672a22a0e846" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_cd1d904f-12f2-4884-b701-8965e49e8b92" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_b94b8607-615c-4412-8d75-55497207c7e3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_3df9991c-8ac2-473c-b0b2-672a22a0e846" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_b94b8607-615c-4412-8d75-55497207c7e3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted_1091d431-678f-4104-bd0c-197fbc8517c1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_3df9991c-8ac2-473c-b0b2-672a22a0e846" xlink:to="loc_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted_1091d431-678f-4104-bd0c-197fbc8517c1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_bbf12987-2d65-41ad-903f-e71f39c33c60" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_3df9991c-8ac2-473c-b0b2-672a22a0e846" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_bbf12987-2d65-41ad-903f-e71f39c33c60" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_fee4c41b-c43b-4675-bc38-9a7ff9f1a358" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_bbf12987-2d65-41ad-903f-e71f39c33c60" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_fee4c41b-c43b-4675-bc38-9a7ff9f1a358" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_fee4c41b-c43b-4675-bc38-9a7ff9f1a358_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_fee4c41b-c43b-4675-bc38-9a7ff9f1a358" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_fee4c41b-c43b-4675-bc38-9a7ff9f1a358_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_70ac7d9a-8284-45bd-b6f8-809689ca5e8e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_fee4c41b-c43b-4675-bc38-9a7ff9f1a358" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_70ac7d9a-8284-45bd-b6f8-809689ca5e8e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TruCodeLLCMember_e7f8b3ab-a934-4c82-841b-0b986e1f935c" xlink:href="cpsi-20211231.xsd#cpsi_TruCodeLLCMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_70ac7d9a-8284-45bd-b6f8-809689ca5e8e" xlink:to="loc_cpsi_TruCodeLLCMember_e7f8b3ab-a934-4c82-841b-0b986e1f935c" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/PropertyandEquipmentDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#PropertyandEquipmentDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/PropertyandEquipmentDetails" xlink:type="extended" id="iace7308d96ef4ca5931c8030d13dee67_PropertyandEquipmentDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_90b9e6b2-741b-415d-8456-a4cc08c1c5a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_0c1b217e-c549-4f25-9049-8af18404407b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_90b9e6b2-741b-415d-8456-a4cc08c1c5a9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_0c1b217e-c549-4f25-9049-8af18404407b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_86167bb8-8463-4053-b889-486330a2bf5a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_90b9e6b2-741b-415d-8456-a4cc08c1c5a9" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_86167bb8-8463-4053-b889-486330a2bf5a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_715b28e6-969e-4d96-994b-8a5fdf9d9c7a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_90b9e6b2-741b-415d-8456-a4cc08c1c5a9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_715b28e6-969e-4d96-994b-8a5fdf9d9c7a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_508c32ae-b5c2-4131-870b-26c518f5e8c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_90b9e6b2-741b-415d-8456-a4cc08c1c5a9" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_508c32ae-b5c2-4131-870b-26c518f5e8c2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_036147ff-d993-498f-b33b-d60a83af1387" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_508c32ae-b5c2-4131-870b-26c518f5e8c2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_036147ff-d993-498f-b33b-d60a83af1387" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_036147ff-d993-498f-b33b-d60a83af1387_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_036147ff-d993-498f-b33b-d60a83af1387" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_036147ff-d993-498f-b33b-d60a83af1387_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_036147ff-d993-498f-b33b-d60a83af1387" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandMember_59fba653-f816-4ec2-8d93-c13710c8f3f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LandMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_LandMember_59fba653-f816-4ec2-8d93-c13710c8f3f3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingAndBuildingImprovementsMember_1862bafc-01d4-4595-be41-1af303bec5c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_BuildingAndBuildingImprovementsMember_1862bafc-01d4-4595-be41-1af303bec5c2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_8a80661b-d686-4f0d-a282-b854ffe74a23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_ComputerEquipmentMember_8a80661b-d686-4f0d-a282-b854ffe74a23" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_7e8474cb-d3ea-4dc2-b474-e55051512125" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_7e8474cb-d3ea-4dc2-b474-e55051512125" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_f2cfcf10-023f-425b-892d-53c0ffaa4284" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_f2cfcf10-023f-425b-892d-53c0ffaa4284" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AutomobilesMember_f5f52b19-3fa0-4b6d-b578-1731c66ac09d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AutomobilesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_AutomobilesMember_f5f52b19-3fa0-4b6d-b578-1731c66ac09d" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SoftwareDevelopmentNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails" xlink:type="extended" id="ie5344f1bacdf4279a1ee2ee78ffeb738_SoftwareDevelopmentNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_87eaffa0-92a7-4773-b5b1-925f8cfcebea" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_87eaffa0-92a7-4773-b5b1-925f8cfcebea" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAdditions_aeac7fe8-fbea-4fa6-8513-27a48711304f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAdditions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAdditions_aeac7fe8-fbea-4fa6-8513-27a48711304f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts_bfef9877-aeb5-479e-9c99-31506d27c3ef" xlink:href="cpsi-20211231.xsd#cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:to="loc_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts_bfef9877-aeb5-479e-9c99-31506d27c3ef" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_IncreaseDecreaseToProductDevelopmentCosts_a332fdc3-1d94-499c-bebb-c0ccb92f4a74" xlink:href="cpsi-20211231.xsd#cpsi_IncreaseDecreaseToProductDevelopmentCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:to="loc_cpsi_IncreaseDecreaseToProductDevelopmentCosts_a332fdc3-1d94-499c-bebb-c0ccb92f4a74" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_83fa641c-4754-4b33-a555-4611097f3b4b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_83fa641c-4754-4b33-a555-4611097f3b4b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_817096f4-d600-4617-b03c-4c6d00c53425" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_83fa641c-4754-4b33-a555-4611097f3b4b" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_817096f4-d600-4617-b03c-4c6d00c53425" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_817096f4-d600-4617-b03c-4c6d00c53425_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_817096f4-d600-4617-b03c-4c6d00c53425" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_817096f4-d600-4617-b03c-4c6d00c53425_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e153666c-9d4e-4cde-8419-fc20110ca23b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_817096f4-d600-4617-b03c-4c6d00c53425" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e153666c-9d4e-4cde-8419-fc20110ca23b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_3a3c4028-9bac-4518-bcfd-d57204b6bb2d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e153666c-9d4e-4cde-8419-fc20110ca23b" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_3a3c4028-9bac-4518-bcfd-d57204b6bb2d" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended" id="i4cf7c18ef6684a4fb160420562f0f105_IncomeTaxesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_a4e45fa3-45fa-4e07-94bb-aa3563ddd137" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_a4e45fa3-45fa-4e07-94bb-aa3563ddd137" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_dfb95a30-0f01-4f17-8d8c-adf2e7c3ae6b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_dfb95a30-0f01-4f17-8d8c-adf2e7c3ae6b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate_1cba744f-c088-4918-b8fd-eb1f7dbd290c" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate_1cba744f-c088-4918-b8fd-eb1f7dbd290c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate_bb018bfe-fea9-4e46-a3fc-e1c5f2094ada" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate_bb018bfe-fea9-4e46-a3fc-e1c5f2094ada" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate_f9ef2201-3167-4456-bbf9-f4866866c691" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate_f9ef2201-3167-4456-bbf9-f4866866c691" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_7ea95911-5cbc-4642-8b9f-70d5421ff611" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_us-gaap_OperatingLossCarryforwards_7ea95911-5cbc-4642-8b9f-70d5421ff611" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_f9212274-bb7a-4b8f-a743-d3c8a18ec18d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_f9212274-bb7a-4b8f-a743-d3c8a18ec18d" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable_9cc41d29-f7c1-4adc-ab32-b95b31f5ff83" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_us-gaap_OperatingLossCarryforwardsTable_9cc41d29-f7c1-4adc-ab32-b95b31f5ff83" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_47ad7b5e-fb35-4afb-ae11-83e897a2a8e4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_9cc41d29-f7c1-4adc-ab32-b95b31f5ff83" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_47ad7b5e-fb35-4afb-ae11-83e897a2a8e4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_47ad7b5e-fb35-4afb-ae11-83e897a2a8e4_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_47ad7b5e-fb35-4afb-ae11-83e897a2a8e4" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_47ad7b5e-fb35-4afb-ae11-83e897a2a8e4_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_ba5ef69c-b74c-46e7-944e-710f0140edaf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_47ad7b5e-fb35-4afb-ae11-83e897a2a8e4" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_ba5ef69c-b74c-46e7-944e-710f0140edaf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_68bdc2b3-2719-4476-b5c9-bf7061b72c7b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DomesticCountryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_ba5ef69c-b74c-46e7-944e-710f0140edaf" xlink:to="loc_us-gaap_DomesticCountryMember_68bdc2b3-2719-4476-b5c9-bf7061b72c7b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_121c0153-9cdf-4d26-a8ce-d2885edd02da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_ba5ef69c-b74c-46e7-944e-710f0140edaf" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_121c0153-9cdf-4d26-a8ce-d2885edd02da" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquityTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#StockBasedCompensationandEquityTables"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/StockBasedCompensationandEquityTables" xlink:type="extended" id="iab665affe1c943f79dbdd18fc931b5b4_StockBasedCompensationandEquityTables">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_6d6aa72f-a58b-477c-9b90-f89eb512ef07" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_6680b75c-2c53-41ee-9f80-d499fb438296" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_6d6aa72f-a58b-477c-9b90-f89eb512ef07" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_6680b75c-2c53-41ee-9f80-d499fb438296" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_b363452d-c645-4b33-b275-a7385db53fa1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_6d6aa72f-a58b-477c-9b90-f89eb512ef07" xlink:to="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_b363452d-c645-4b33-b275-a7385db53fa1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_55f20c5b-3078-4ae8-8740-95793bf773b0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_6d6aa72f-a58b-477c-9b90-f89eb512ef07" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_55f20c5b-3078-4ae8-8740-95793bf773b0" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_169c7495-6126-4cac-931a-e6bf4194d8d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_55f20c5b-3078-4ae8-8740-95793bf773b0" xlink:to="loc_us-gaap_AwardTypeAxis_169c7495-6126-4cac-931a-e6bf4194d8d6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_169c7495-6126-4cac-931a-e6bf4194d8d6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_169c7495-6126-4cac-931a-e6bf4194d8d6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_169c7495-6126-4cac-931a-e6bf4194d8d6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6eb215c8-4e1f-4e11-b6fe-c79728c7291c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_169c7495-6126-4cac-931a-e6bf4194d8d6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6eb215c8-4e1f-4e11-b6fe-c79728c7291c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_74cfdc02-1eb6-447e-9a07-76a4f679bfb2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6eb215c8-4e1f-4e11-b6fe-c79728c7291c" xlink:to="loc_us-gaap_RestrictedStockMember_74cfdc02-1eb6-447e-9a07-76a4f679bfb2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_9341b65a-4293-47ee-b6ee-25ca17d9edc7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6eb215c8-4e1f-4e11-b6fe-c79728c7291c" xlink:to="loc_us-gaap_PerformanceSharesMember_9341b65a-4293-47ee-b6ee-25ca17d9edc7" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#StockBasedCompensationandEquityNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails" xlink:type="extended" id="i4dd120fc1af64a6c99342c32e5ee79c6_StockBasedCompensationandEquityNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_380b6bad-ed9d-4dff-ba05-a3652f073e14" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_380b6bad-ed9d-4dff-ba05-a3652f073e14" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_f8441bee-5b98-4719-83d0-ad6417a0ba7f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_f8441bee-5b98-4719-83d0-ad6417a0ba7f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_5bb53a6b-c0fb-40b8-a684-6f2f9fa85eb3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_5bb53a6b-c0fb-40b8-a684-6f2f9fa85eb3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_9938bbc8-eb22-41db-b7a8-a56bb9cb4762" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_9938bbc8-eb22-41db-b7a8-a56bb9cb4762" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_f96797ad-2f90-407e-8bfc-ddee727fabf9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_f96797ad-2f90-407e-8bfc-ddee727fabf9" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_73ebe341-ccc7-4068-938b-1dc5d35c4eec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_73ebe341-ccc7-4068-938b-1dc5d35c4eec" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_ed6f76fb-4ead-4094-8c70-d7e7857ce872" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_ed6f76fb-4ead-4094-8c70-d7e7857ce872" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a94878a9-f6c4-4a40-8b1a-f0c844225527" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a94878a9-f6c4-4a40-8b1a-f0c844225527" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_3d536dc5-5c16-4f53-95ff-c38a125ef8c3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a94878a9-f6c4-4a40-8b1a-f0c844225527" xlink:to="loc_us-gaap_AwardTypeAxis_3d536dc5-5c16-4f53-95ff-c38a125ef8c3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3d536dc5-5c16-4f53-95ff-c38a125ef8c3_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_3d536dc5-5c16-4f53-95ff-c38a125ef8c3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3d536dc5-5c16-4f53-95ff-c38a125ef8c3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_46717416-23d1-4106-be38-b92c09407be7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_3d536dc5-5c16-4f53-95ff-c38a125ef8c3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_46717416-23d1-4106-be38-b92c09407be7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_cb625fc8-d30c-430a-aa21-62bd9c59ee54" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_46717416-23d1-4106-be38-b92c09407be7" xlink:to="loc_us-gaap_RestrictedStockMember_cb625fc8-d30c-430a-aa21-62bd9c59ee54" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_2e7efa50-2d5f-465a-b90e-349a47a05672" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_46717416-23d1-4106-be38-b92c09407be7" xlink:to="loc_us-gaap_PerformanceSharesMember_2e7efa50-2d5f-465a-b90e-349a47a05672" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_a62e1dfe-ec5f-4a81-a6bd-28ac9aa307bd" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a94878a9-f6c4-4a40-8b1a-f0c844225527" xlink:to="loc_srt_RangeAxis_a62e1dfe-ec5f-4a81-a6bd-28ac9aa307bd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a62e1dfe-ec5f-4a81-a6bd-28ac9aa307bd_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_a62e1dfe-ec5f-4a81-a6bd-28ac9aa307bd" xlink:to="loc_srt_RangeMember_a62e1dfe-ec5f-4a81-a6bd-28ac9aa307bd_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_e79000b4-c3fe-4c56-bb6c-e333b627e24a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_a62e1dfe-ec5f-4a81-a6bd-28ac9aa307bd" xlink:to="loc_srt_RangeMember_e79000b4-c3fe-4c56-bb6c-e333b627e24a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_3d1e469d-a219-4de6-a571-b6897506c2ad" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_e79000b4-c3fe-4c56-bb6c-e333b627e24a" xlink:to="loc_srt_MinimumMember_3d1e469d-a219-4de6-a571-b6897506c2ad" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_c8908d84-9c7b-4376-ab5c-8ce4649094e7" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_e79000b4-c3fe-4c56-bb6c-e333b627e24a" xlink:to="loc_srt_MaximumMember_c8908d84-9c7b-4376-ab5c-8ce4649094e7" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails" xlink:type="extended" id="i64986325a3a14ed2a2327fa79225b34b_StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_01dea9e7-afc1-488f-aa72-7e4f4c1de31c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_43912bd8-04eb-439a-a0d4-d321d0a3a735" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_01dea9e7-afc1-488f-aa72-7e4f4c1de31c" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_43912bd8-04eb-439a-a0d4-d321d0a3a735" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_c41e038f-7362-48e7-a54d-72123d9f9080" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_01dea9e7-afc1-488f-aa72-7e4f4c1de31c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_c41e038f-7362-48e7-a54d-72123d9f9080" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_9afee75d-5c97-4bf7-9455-9f31bd3d52b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_01dea9e7-afc1-488f-aa72-7e4f4c1de31c" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_9afee75d-5c97-4bf7-9455-9f31bd3d52b2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_aba6878f-48dc-4051-8bdc-7532db3574a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_01dea9e7-afc1-488f-aa72-7e4f4c1de31c" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_aba6878f-48dc-4051-8bdc-7532db3574a8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_3461b48c-3eab-4563-94f3-64965ec2b330" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_aba6878f-48dc-4051-8bdc-7532db3574a8" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_3461b48c-3eab-4563-94f3-64965ec2b330" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_3461b48c-3eab-4563-94f3-64965ec2b330_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_3461b48c-3eab-4563-94f3-64965ec2b330" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_3461b48c-3eab-4563-94f3-64965ec2b330_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_0f31c5d0-7c0c-48a3-91df-3e7319e5979b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_3461b48c-3eab-4563-94f3-64965ec2b330" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_0f31c5d0-7c0c-48a3-91df-3e7319e5979b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_b212575c-80f0-4fd9-816a-7532eb6693b1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_0f31c5d0-7c0c-48a3-91df-3e7319e5979b" xlink:to="loc_us-gaap_CostOfSalesMember_b212575c-80f0-4fd9-816a-7532eb6693b1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenseMember_101d7dcf-e066-405f-8c14-fd295fd994fd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_0f31c5d0-7c0c-48a3-91df-3e7319e5979b" xlink:to="loc_us-gaap_OperatingExpenseMember_101d7dcf-e066-405f-8c14-fd295fd994fd" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails" xlink:type="extended" id="id63af36e6930478aa3eb608a324a5f01_StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_12b01f84-bb41-4d80-a167-a2d64742d7b5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_12b01f84-bb41-4d80-a167-a2d64742d7b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a09a5c3e-5013-435a-8ed9-ae7eaa3336bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a09a5c3e-5013-435a-8ed9-ae7eaa3336bc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_309aa859-7c59-4b5c-bf94-29f28426c16f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_309aa859-7c59-4b5c-bf94-29f28426c16f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod_b5ee7960-b398-4ad8-ae08-80e2c8fd983c" xlink:href="cpsi-20211231.xsd#cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod_b5ee7960-b398-4ad8-ae08-80e2c8fd983c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod_33dccc83-763a-453e-ba84-a756e2c43aef" xlink:href="cpsi-20211231.xsd#cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod_33dccc83-763a-453e-ba84-a756e2c43aef" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_4dd60be9-a3b6-4da3-9f0b-3d6be9da5646" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_4dd60be9-a3b6-4da3-9f0b-3d6be9da5646" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_aecb4631-8378-403e-8285-553bed3475a0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_aecb4631-8378-403e-8285-553bed3475a0" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_ef51daac-ca81-4188-9dc9-f623ad0d9bca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_12b01f84-bb41-4d80-a167-a2d64742d7b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_65114f85-c24b-42fb-9d44-3a66164d0a31" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_65114f85-c24b-42fb-9d44-3a66164d0a31" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_81415f4f-9cf0-42c3-b5f9-4e170258e9f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_81415f4f-9cf0-42c3-b5f9-4e170258e9f9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue_06b0c1c0-5508-4b5d-b4ce-84032274d52e" xlink:href="cpsi-20211231.xsd#cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue_06b0c1c0-5508-4b5d-b4ce-84032274d52e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue_46275b5a-75d9-44ce-bd21-ae20dc1e741d" xlink:href="cpsi-20211231.xsd#cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue_46275b5a-75d9-44ce-bd21-ae20dc1e741d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_a5c51239-9f9e-4acc-bb7b-10c10ff1a049" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_a5c51239-9f9e-4acc-bb7b-10c10ff1a049" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_6e67abdb-9037-4e59-a8c1-bc87399ab1f7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_6e67abdb-9037-4e59-a8c1-bc87399ab1f7" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_fecf8240-5bf8-4a34-a02e-fcea08d025f7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f80fd5a0-a3fb-4378-8fa2-39dad7d4d9ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_12b01f84-bb41-4d80-a167-a2d64742d7b5" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f80fd5a0-a3fb-4378-8fa2-39dad7d4d9ed" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_a6ebd03f-1d20-4182-8b64-fa14e26b7bfb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f80fd5a0-a3fb-4378-8fa2-39dad7d4d9ed" xlink:to="loc_us-gaap_AwardTypeAxis_a6ebd03f-1d20-4182-8b64-fa14e26b7bfb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a6ebd03f-1d20-4182-8b64-fa14e26b7bfb_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_a6ebd03f-1d20-4182-8b64-fa14e26b7bfb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a6ebd03f-1d20-4182-8b64-fa14e26b7bfb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b0c59ec4-3ca4-4846-8372-1c6a30206ee9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_a6ebd03f-1d20-4182-8b64-fa14e26b7bfb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b0c59ec4-3ca4-4846-8372-1c6a30206ee9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_fdf31be6-f44d-4d61-b925-e6f7cdd6b0f7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b0c59ec4-3ca4-4846-8372-1c6a30206ee9" xlink:to="loc_us-gaap_RestrictedStockMember_fdf31be6-f44d-4d61-b925-e6f7cdd6b0f7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_897870e5-8bc2-4204-a64e-380a49b4b710" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b0c59ec4-3ca4-4846-8372-1c6a30206ee9" xlink:to="loc_us-gaap_PerformanceSharesMember_897870e5-8bc2-4204-a64e-380a49b4b710" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails" xlink:type="extended" id="i601b3fab3c3648a88f58fa83954abbba_FinancingReceivablesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_d67ee52d-8c41-4156-b9df-2deb1a650367" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancingReceivableTerm_12a9c93f-01f3-433f-9245-0bed2003a03a" xlink:href="cpsi-20211231.xsd#cpsi_FinancingReceivableTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_d67ee52d-8c41-4156-b9df-2deb1a650367" xlink:to="loc_cpsi_FinancingReceivableTerm_12a9c93f-01f3-433f-9245-0bed2003a03a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_47bcadc7-1014-463d-90ac-f693a5bbf3b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_d67ee52d-8c41-4156-b9df-2deb1a650367" xlink:to="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_47bcadc7-1014-463d-90ac-f693a5bbf3b2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4258b8d6-56ad-4e56-a29b-d61dad925357" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_47bcadc7-1014-463d-90ac-f693a5bbf3b2" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4258b8d6-56ad-4e56-a29b-d61dad925357" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_4258b8d6-56ad-4e56-a29b-d61dad925357_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4258b8d6-56ad-4e56-a29b-d61dad925357" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_4258b8d6-56ad-4e56-a29b-d61dad925357_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_cd81cd26-092c-47e1-adc4-c81a1eb3c319" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4258b8d6-56ad-4e56-a29b-d61dad925357" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_cd81cd26-092c-47e1-adc4-c81a1eb3c319" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermFinancingArrangementMember_75b5f2d5-4f8e-4ab9-ac10-4b9d81911a7f" xlink:href="cpsi-20211231.xsd#cpsi_LongTermFinancingArrangementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_cd81cd26-092c-47e1-adc4-c81a1eb3c319" xlink:to="loc_cpsi_LongTermFinancingArrangementMember_75b5f2d5-4f8e-4ab9-ac10-4b9d81911a7f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ShortTermPaymentPlansMember_d14e92ec-9151-4a98-8ecb-4072a448103f" xlink:href="cpsi-20211231.xsd#cpsi_ShortTermPaymentPlansMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_cd81cd26-092c-47e1-adc4-c81a1eb3c319" xlink:to="loc_cpsi_ShortTermPaymentPlansMember_d14e92ec-9151-4a98-8ecb-4072a448103f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_8b453bb4-4fd5-4de7-ad93-85f80ac8bddf" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_47bcadc7-1014-463d-90ac-f693a5bbf3b2" xlink:to="loc_srt_RangeAxis_8b453bb4-4fd5-4de7-ad93-85f80ac8bddf" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_8b453bb4-4fd5-4de7-ad93-85f80ac8bddf_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_8b453bb4-4fd5-4de7-ad93-85f80ac8bddf" xlink:to="loc_srt_RangeMember_8b453bb4-4fd5-4de7-ad93-85f80ac8bddf_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_93783a2f-eb29-48a6-801b-96cb2731b630" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_8b453bb4-4fd5-4de7-ad93-85f80ac8bddf" xlink:to="loc_srt_RangeMember_93783a2f-eb29-48a6-801b-96cb2731b630" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_a4a2d676-ca5b-46ed-b588-0d2482fb5929" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_93783a2f-eb29-48a6-801b-96cb2731b630" xlink:to="loc_srt_MinimumMember_a4a2d676-ca5b-46ed-b588-0d2482fb5929" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_db5ff237-5232-4956-8f83-123b8b1eee4c" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_93783a2f-eb29-48a6-801b-96cb2731b630" xlink:to="loc_srt_MaximumMember_db5ff237-5232-4956-8f83-123b8b1eee4c" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesShortTermPaymentPlansDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails" xlink:type="extended" id="ib691c16e192c484688090a3259394162_FinancingReceivablesShortTermPaymentPlansDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_9a508724-7cf3-49ee-a156-2300a8a8c052" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableGrossCurrent_cb713ca6-bbe0-4a13-8849-8c759951d02f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableGrossCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_9a508724-7cf3-49ee-a156-2300a8a8c052" xlink:to="loc_us-gaap_NotesAndLoansReceivableGrossCurrent_cb713ca6-bbe0-4a13-8849-8c759951d02f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForNotesAndLoansReceivableCurrent_fbb71fbe-acb9-4745-b0ac-43751a5acdf1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForNotesAndLoansReceivableCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_9a508724-7cf3-49ee-a156-2300a8a8c052" xlink:to="loc_us-gaap_AllowanceForNotesAndLoansReceivableCurrent_fbb71fbe-acb9-4745-b0ac-43751a5acdf1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableNetCurrent_e965172d-5d24-43a6-b438-eb2e473fd885" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_9a508724-7cf3-49ee-a156-2300a8a8c052" xlink:to="loc_us-gaap_NotesAndLoansReceivableNetCurrent_e965172d-5d24-43a6-b438-eb2e473fd885" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_9b4046fc-31a7-4be5-8cb7-d4e126c81ed8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_9a508724-7cf3-49ee-a156-2300a8a8c052" xlink:to="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_9b4046fc-31a7-4be5-8cb7-d4e126c81ed8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_984f9228-309b-4745-8e05-8f80f9b8c9ca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_9b4046fc-31a7-4be5-8cb7-d4e126c81ed8" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_984f9228-309b-4745-8e05-8f80f9b8c9ca" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_984f9228-309b-4745-8e05-8f80f9b8c9ca_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_984f9228-309b-4745-8e05-8f80f9b8c9ca" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_984f9228-309b-4745-8e05-8f80f9b8c9ca_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_bb8e42b6-64fd-433d-b6a9-d75ea0cdc437" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_984f9228-309b-4745-8e05-8f80f9b8c9ca" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_bb8e42b6-64fd-433d-b6a9-d75ea0cdc437" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ShortTermPaymentPlansMember_520e8c1d-54ba-427b-b3f0-b66905f696c0" xlink:href="cpsi-20211231.xsd#cpsi_ShortTermPaymentPlansMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_bb8e42b6-64fd-433d-b6a9-d75ea0cdc437" xlink:to="loc_cpsi_ShortTermPaymentPlansMember_520e8c1d-54ba-427b-b3f0-b66905f696c0" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesComponentsofLeaseReceivablesDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails" xlink:type="extended" id="i2f9f52b978af43ea8244a5490cd134a1_FinancingReceivablesComponentsofLeaseReceivablesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableGross_34f5a7ee-01f6-4a2f-b7f9-36c58e943177" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:to="loc_us-gaap_NotesReceivableGross_34f5a7ee-01f6-4a2f-b7f9-36c58e943177" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_c5faa21e-1e1a-45d4-a52b-eccdb0169790" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_c5faa21e-1e1a-45d4-a52b-eccdb0169790" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableDeferredIncome_19733abc-ad55-4748-8a7e-f81413cb284b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableDeferredIncome"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:to="loc_us-gaap_FinancingReceivableDeferredIncome_19733abc-ad55-4748-8a7e-f81413cb284b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableNet_6d7e3d52-0d96-4dae-8d64-31b9c6cc8181" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:to="loc_us-gaap_NotesReceivableNet_6d7e3d52-0d96-4dae-8d64-31b9c6cc8181" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_28bdde06-b909-441b-aae3-7faf2a52108b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFinancingReceivablesPastDueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_28bdde06-b909-441b-aae3-7faf2a52108b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_ebe8cee8-5339-40ab-a329-ada40c67e29a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_28bdde06-b909-441b-aae3-7faf2a52108b" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_ebe8cee8-5339-40ab-a329-ada40c67e29a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_ebe8cee8-5339-40ab-a329-ada40c67e29a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_ebe8cee8-5339-40ab-a329-ada40c67e29a" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_ebe8cee8-5339-40ab-a329-ada40c67e29a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_950a481b-2511-48f6-941b-330480b7b5a6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_ebe8cee8-5339-40ab-a329-ada40c67e29a" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_950a481b-2511-48f6-941b-330480b7b5a6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermFinancingArrangementMember_b0ec75ff-abe1-4976-9605-4b2153c6913e" xlink:href="cpsi-20211231.xsd#cpsi_LongTermFinancingArrangementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_950a481b-2511-48f6-941b-330480b7b5a6" xlink:to="loc_cpsi_LongTermFinancingArrangementMember_b0ec75ff-abe1-4976-9605-4b2153c6913e" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesFutureMinimumLeasePaymentsDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails" xlink:type="extended" id="i19cc3b5e362f4f80905a4f1cf60cc769_FinancingReceivablesFutureMinimumLeasePaymentsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths_9cb02445-feac-4835-939a-010fbef1a83b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths_9cb02445-feac-4835-939a-010fbef1a83b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears_f4b563e3-e4c0-4942-befe-ae060f42f30c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears_f4b563e3-e4c0-4942-befe-ae060f42f30c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears_e10371a3-2ad1-451c-a514-77c6fa6cebf1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears_e10371a3-2ad1-451c-a514-77c6fa6cebf1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears_ccf66856-0fcd-4b4c-9dbb-ecb6af1cc43c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears_ccf66856-0fcd-4b4c-9dbb-ecb6af1cc43c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears_062b4efb-62ea-4b6d-a06e-63876663a330" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears_062b4efb-62ea-4b6d-a06e-63876663a330" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter_c438460a-171a-421d-83cc-e727759b1c3e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter_c438460a-171a-421d-83cc-e727759b1c3e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_d510cbef-6d5a-4620-9619-89c59fab9112" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_d510cbef-6d5a-4620-9619-89c59fab9112" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_b4ec8ccb-d37c-4a07-9565-2fa92a964b5c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_b4ec8ccb-d37c-4a07-9565-2fa92a964b5c" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableDeferredIncome_b646046d-d5af-43a6-be52-196c0de1e13f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableDeferredIncome"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_FinancingReceivableDeferredIncome_b646046d-d5af-43a6-be52-196c0de1e13f" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableNet_57f6390e-72bb-4b36-8113-dcc84608746b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_NotesReceivableNet_57f6390e-72bb-4b36-8113-dcc84608746b" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_e51c9a96-18eb-4391-a002-3dcc356c2573" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFinancingReceivablesPastDueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_e51c9a96-18eb-4391-a002-3dcc356c2573" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4a47c0ba-2fb6-4294-aec5-6e8035048690" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_e51c9a96-18eb-4391-a002-3dcc356c2573" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4a47c0ba-2fb6-4294-aec5-6e8035048690" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_4a47c0ba-2fb6-4294-aec5-6e8035048690_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4a47c0ba-2fb6-4294-aec5-6e8035048690" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_4a47c0ba-2fb6-4294-aec5-6e8035048690_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_3d713aec-ddeb-4d95-9d39-53e2da571edc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4a47c0ba-2fb6-4294-aec5-6e8035048690" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_3d713aec-ddeb-4d95-9d39-53e2da571edc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermFinancingArrangementMember_831b0dec-bffb-4752-9438-08a10b7c8244" xlink:href="cpsi-20211231.xsd#cpsi_LongTermFinancingArrangementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_3d713aec-ddeb-4d95-9d39-53e2da571edc" xlink:to="loc_cpsi_LongTermFinancingArrangementMember_831b0dec-bffb-4752-9438-08a10b7c8244" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails" xlink:type="extended" id="i634d55242dc04b93aed54d7cc1a6c3eb_FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_2a899427-b06f-4ab4-aebb-a375274c1676" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableGross_9ec05f06-f76b-4b3e-81e8-e6ae3ddd806a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_2a899427-b06f-4ab4-aebb-a375274c1676" xlink:to="loc_us-gaap_NotesReceivableGross_9ec05f06-f76b-4b3e-81e8-e6ae3ddd806a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_646268e2-74eb-47d6-8560-bb7507a1da85" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFinancingReceivablesPastDueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_2a899427-b06f-4ab4-aebb-a375274c1676" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_646268e2-74eb-47d6-8560-bb7507a1da85" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9bf32598-f05a-41fe-b0ca-5deb80d7de5a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_646268e2-74eb-47d6-8560-bb7507a1da85" xlink:to="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9bf32598-f05a-41fe-b0ca-5deb80d7de5a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_9bf32598-f05a-41fe-b0ca-5deb80d7de5a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9bf32598-f05a-41fe-b0ca-5deb80d7de5a" xlink:to="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_9bf32598-f05a-41fe-b0ca-5deb80d7de5a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_46359288-2fdf-4dbb-982b-af719d032444" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9bf32598-f05a-41fe-b0ca-5deb80d7de5a" xlink:to="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_46359288-2fdf-4dbb-982b-af719d032444" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialAssetPastDueMember_18b6e590-9033-4b26-8c03-0f5930505449" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialAssetPastDueMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_46359288-2fdf-4dbb-982b-af719d032444" xlink:to="loc_us-gaap_FinancialAssetPastDueMember_18b6e590-9033-4b26-8c03-0f5930505449" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset1To90DaysPastDueMember_65d2a3b8-b015-4cde-aec6-9ba1c36da29a" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset1To90DaysPastDueMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_18b6e590-9033-4b26-8c03-0f5930505449" xlink:to="loc_cpsi_FinancialAsset1To90DaysPastDueMember_65d2a3b8-b015-4cde-aec6-9ba1c36da29a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset91To180DaysPastDueMember_af5cb2dd-2b71-449d-ab11-88fcef1f8eeb" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset91To180DaysPastDueMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_18b6e590-9033-4b26-8c03-0f5930505449" xlink:to="loc_cpsi_FinancialAsset91To180DaysPastDueMember_af5cb2dd-2b71-449d-ab11-88fcef1f8eeb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset181OrMoreDaysPastDueMember_b657c64e-9fe4-40cd-8ff1-57a7126db81d" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset181OrMoreDaysPastDueMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_18b6e590-9033-4b26-8c03-0f5930505449" xlink:to="loc_cpsi_FinancialAsset181OrMoreDaysPastDueMember_b657c64e-9fe4-40cd-8ff1-57a7126db81d" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails" xlink:type="extended" id="i39e4d96a493b449c9d0118fd5bfd930f_FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableGross_c0c8a2c1-bbe9-43d5-a067-04dbde4b1f65" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:to="loc_us-gaap_NotesReceivableGross_c0c8a2c1-bbe9-43d5-a067-04dbde4b1f65" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess_743c1ba5-e089-4cad-89de-59c2472c3bbb" xlink:href="cpsi-20211231.xsd#cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:to="loc_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess_743c1ba5-e089-4cad-89de-59c2472c3bbb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_130767d6-acbe-4aac-9096-d607b074926a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_130767d6-acbe-4aac-9096-d607b074926a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableNet_94553c56-2e96-4b6d-a459-22240c0a17ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:to="loc_us-gaap_NotesReceivableNet_94553c56-2e96-4b6d-a459-22240c0a17ed" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_c6409c47-4914-4763-9bdf-a2ef63871a18" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFinancingReceivablesPastDueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_c6409c47-4914-4763-9bdf-a2ef63871a18" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9e07dd76-d321-4771-994f-f0f7c4156f53" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_c6409c47-4914-4763-9bdf-a2ef63871a18" xlink:to="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9e07dd76-d321-4771-994f-f0f7c4156f53" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_9e07dd76-d321-4771-994f-f0f7c4156f53_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9e07dd76-d321-4771-994f-f0f7c4156f53" xlink:to="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_9e07dd76-d321-4771-994f-f0f7c4156f53_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_4a6a02be-12f2-4a00-90cb-537765279b18" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9e07dd76-d321-4771-994f-f0f7c4156f53" xlink:to="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_4a6a02be-12f2-4a00-90cb-537765279b18" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialAssetPastDueMember_a0c45959-ee0a-4592-bcd6-3943a2b6d57b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialAssetPastDueMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_4a6a02be-12f2-4a00-90cb-537765279b18" xlink:to="loc_us-gaap_FinancialAssetPastDueMember_a0c45959-ee0a-4592-bcd6-3943a2b6d57b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset1To90DaysPastDueMember_746b652a-bf1b-43c1-a409-6d192e33ad81" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset1To90DaysPastDueMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_a0c45959-ee0a-4592-bcd6-3943a2b6d57b" xlink:to="loc_cpsi_FinancialAsset1To90DaysPastDueMember_746b652a-bf1b-43c1-a409-6d192e33ad81" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset91To180DaysPastDueMember_2a482c29-f904-4c10-92b7-4f650b017d9c" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset91To180DaysPastDueMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_a0c45959-ee0a-4592-bcd6-3943a2b6d57b" xlink:to="loc_cpsi_FinancialAsset91To180DaysPastDueMember_2a482c29-f904-4c10-92b7-4f650b017d9c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset181OrMoreDaysPastDueMember_fd88b6cb-8d3c-4967-a450-b3f319143f8c" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset181OrMoreDaysPastDueMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_a0c45959-ee0a-4592-bcd6-3943a2b6d57b" xlink:to="loc_cpsi_FinancialAsset181OrMoreDaysPastDueMember_fd88b6cb-8d3c-4967-a450-b3f319143f8c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialAssetNotPastDueMember_12dee6dc-f81c-42f2-933d-1eb5dd49f636" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialAssetNotPastDueMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_4a6a02be-12f2-4a00-90cb-537765279b18" xlink:to="loc_us-gaap_FinancialAssetNotPastDueMember_12dee6dc-f81c-42f2-933d-1eb5dd49f636" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_eff97c4d-54e9-441c-a264-89c79f0b9452" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_c6409c47-4914-4763-9bdf-a2ef63871a18" xlink:to="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_eff97c4d-54e9-441c-a264-89c79f0b9452" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivableTypeDomain_eff97c4d-54e9-441c-a264-89c79f0b9452_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivableTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_eff97c4d-54e9-441c-a264-89c79f0b9452" xlink:to="loc_us-gaap_ReceivableTypeDomain_eff97c4d-54e9-441c-a264-89c79f0b9452_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivableTypeDomain_bbced3ec-1855-4ce0-9f9c-89a1cd61c971" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivableTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_eff97c4d-54e9-441c-a264-89c79f0b9452" xlink:to="loc_us-gaap_ReceivableTypeDomain_bbced3ec-1855-4ce0-9f9c-89a1cd61c971" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAccountsReceivableMember_0b46ec2d-02ab-475f-bd8c-c2c8fbbc57db" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeAccountsReceivableMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ReceivableTypeDomain_bbced3ec-1855-4ce0-9f9c-89a1cd61c971" xlink:to="loc_us-gaap_TradeAccountsReceivableMember_0b46ec2d-02ab-475f-bd8c-c2c8fbbc57db" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails" xlink:type="extended" id="icc56c3fca8274d229b4d3fa466c78af0_IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_10a8c557-dd3a-43c7-8960-9fdb97118935" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_10a8c557-dd3a-43c7-8960-9fdb97118935" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_df12f852-03bc-44cb-b235-efab396cb708" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:to="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_df12f852-03bc-44cb-b235-efab396cb708" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_dd1c4d57-7976-42c9-b423-08da5acfb61d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_dd1c4d57-7976-42c9-b423-08da5acfb61d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c4804845-2c46-4f26-9433-0f2426a2aed7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c4804845-2c46-4f26-9433-0f2426a2aed7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_220b4f65-d5ec-40b2-aa3d-29879fef833a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_220b4f65-d5ec-40b2-aa3d-29879fef833a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_25c9175c-2623-465e-81e3-9ba35ebd52d5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_25c9175c-2623-465e-81e3-9ba35ebd52d5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a2e0166e-81cb-4e86-a8a0-3bfd70b5dacf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_25c9175c-2623-465e-81e3-9ba35ebd52d5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a2e0166e-81cb-4e86-a8a0-3bfd70b5dacf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_a2e0166e-81cb-4e86-a8a0-3bfd70b5dacf_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a2e0166e-81cb-4e86-a8a0-3bfd70b5dacf" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_a2e0166e-81cb-4e86-a8a0-3bfd70b5dacf_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_307f643b-367e-46d7-ae6a-e51b974c7da9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a2e0166e-81cb-4e86-a8a0-3bfd70b5dacf" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_307f643b-367e-46d7-ae6a-e51b974c7da9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_e733ac18-89ff-4481-9a06-1116da2700b8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_307f643b-367e-46d7-ae6a-e51b974c7da9" xlink:to="loc_us-gaap_CustomerRelationshipsMember_e733ac18-89ff-4481-9a06-1116da2700b8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_a49da678-82af-4409-893c-15c2c73490d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_307f643b-367e-46d7-ae6a-e51b974c7da9" xlink:to="loc_us-gaap_TrademarksMember_a49da678-82af-4409-893c-15c2c73490d6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_b5c20912-1f89-49bb-a45c-1183afb25810" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_307f643b-367e-46d7-ae6a-e51b974c7da9" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_b5c20912-1f89-49bb-a45c-1183afb25810" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IntangibleAssetsandGoodwillScheduleofGoodwillDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails" xlink:type="extended" id="i1c221e605189495c84708f35752a6372_IntangibleAssetsandGoodwillScheduleofGoodwillDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_c470cc4f-de94-4652-838d-b9dc1c601b66" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_d077e184-f1d4-4ea8-bf44-79acdb0c0f93" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_c470cc4f-de94-4652-838d-b9dc1c601b66" xlink:to="loc_us-gaap_GoodwillRollForward_d077e184-f1d4-4ea8-bf44-79acdb0c0f93" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_47514852-a4ce-46f6-8b85-8d8ae7803dd3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_d077e184-f1d4-4ea8-bf44-79acdb0c0f93" xlink:to="loc_us-gaap_Goodwill_47514852-a4ce-46f6-8b85-8d8ae7803dd3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_25f9305c-c103-4892-abb1-a54e187df892" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_d077e184-f1d4-4ea8-bf44-79acdb0c0f93" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_25f9305c-c103-4892-abb1-a54e187df892" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_495869b4-8574-4de8-9877-7fe120328c52" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_5ca48f42-509a-46a4-bcd8-a547f0ebaeae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_GoodwillLineItems_c470cc4f-de94-4652-838d-b9dc1c601b66" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_5ca48f42-509a-46a4-bcd8-a547f0ebaeae" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_3d0eb6ac-e234-4925-b6c6-aa07ee84eb61" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_5ca48f42-509a-46a4-bcd8-a547f0ebaeae" xlink:to="loc_srt_ConsolidationItemsAxis_3d0eb6ac-e234-4925-b6c6-aa07ee84eb61" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_3d0eb6ac-e234-4925-b6c6-aa07ee84eb61_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_3d0eb6ac-e234-4925-b6c6-aa07ee84eb61" xlink:to="loc_srt_ConsolidationItemsDomain_3d0eb6ac-e234-4925-b6c6-aa07ee84eb61_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_344729b0-6e0d-4fc9-abbc-d8d2a182c22b" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_3d0eb6ac-e234-4925-b6c6-aa07ee84eb61" xlink:to="loc_srt_ConsolidationItemsDomain_344729b0-6e0d-4fc9-abbc-d8d2a182c22b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_05bc6a3c-3e44-4207-b9ba-22eee57e9a25" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_344729b0-6e0d-4fc9-abbc-d8d2a182c22b" xlink:to="loc_us-gaap_OperatingSegmentsMember_05bc6a3c-3e44-4207-b9ba-22eee57e9a25" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_3a4c2eb1-1e95-4e55-99d7-28059e93c7c6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_5ca48f42-509a-46a4-bcd8-a547f0ebaeae" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_3a4c2eb1-1e95-4e55-99d7-28059e93c7c6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_3a4c2eb1-1e95-4e55-99d7-28059e93c7c6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_3a4c2eb1-1e95-4e55-99d7-28059e93c7c6" xlink:to="loc_us-gaap_SegmentDomain_3a4c2eb1-1e95-4e55-99d7-28059e93c7c6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_8c04976a-d889-43e5-bda3-39eec2100a19" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_3a4c2eb1-1e95-4e55-99d7-28059e93c7c6" xlink:to="loc_us-gaap_SegmentDomain_8c04976a-d889-43e5-bda3-39eec2100a19" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AcuteCareMember_9c2efa90-7655-4fa8-a63a-6f2a5e1e16a4" xlink:href="cpsi-20211231.xsd#cpsi_AcuteCareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_8c04976a-d889-43e5-bda3-39eec2100a19" xlink:to="loc_cpsi_AcuteCareMember_9c2efa90-7655-4fa8-a63a-6f2a5e1e16a4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PostAcuteCareMember_8c97a2c2-1119-4e6c-8e47-ec39094b4909" xlink:href="cpsi-20211231.xsd#cpsi_PostAcuteCareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_8c04976a-d889-43e5-bda3-39eec2100a19" xlink:to="loc_cpsi_PostAcuteCareMember_8c97a2c2-1119-4e6c-8e47-ec39094b4909" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_BusinessManagementConsultingandManagedITServicesMember_f1f2be32-b3d1-4439-abec-80bd2148534a" xlink:href="cpsi-20211231.xsd#cpsi_BusinessManagementConsultingandManagedITServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_8c04976a-d889-43e5-bda3-39eec2100a19" xlink:to="loc_cpsi_BusinessManagementConsultingandManagedITServicesMember_f1f2be32-b3d1-4439-abec-80bd2148534a" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebtScheduleofDebtDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails" xlink:type="extended" id="i9d5b3b6bda94423fa630542142ef934a_LongTermDebtScheduleofDebtDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_85e3e47a-2bcf-4052-b370-5ff0e7559ace" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_85e3e47a-2bcf-4052-b370-5ff0e7559ace" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_8785c095-e37f-4f39-9b9f-23555b934f10" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_8785c095-e37f-4f39-9b9f-23555b934f10" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_cabbc0b5-7eae-4971-9565-2877cba85cde" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:to="loc_us-gaap_LongTermDebt_cabbc0b5-7eae-4971-9565-2877cba85cde" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_fb7d3d39-4c07-44dd-a221-cd51f24e6452" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:to="loc_us-gaap_LongTermDebtCurrent_fb7d3d39-4c07-44dd-a221-cd51f24e6452" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_203eb22f-b798-4953-8b70-c6623d8ae861" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_203eb22f-b798-4953-8b70-c6623d8ae861" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_ff88681b-ac09-4fb4-9103-e2e626dd0e56" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:to="loc_us-gaap_DebtInstrumentTable_ff88681b-ac09-4fb4-9103-e2e626dd0e56" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_a574a3e2-812e-4db0-8d7d-400f1de337a5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_ff88681b-ac09-4fb4-9103-e2e626dd0e56" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_a574a3e2-812e-4db0-8d7d-400f1de337a5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_a574a3e2-812e-4db0-8d7d-400f1de337a5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_a574a3e2-812e-4db0-8d7d-400f1de337a5" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_a574a3e2-812e-4db0-8d7d-400f1de337a5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_dd4c4f65-f517-471c-a06b-420726e6da84" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_a574a3e2-812e-4db0-8d7d-400f1de337a5" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_dd4c4f65-f517-471c-a06b-420726e6da84" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_84f8f617-fcb2-43ca-8e5d-98be3a17c4a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_dd4c4f65-f517-471c-a06b-420726e6da84" xlink:to="loc_us-gaap_LineOfCreditMember_84f8f617-fcb2-43ca-8e5d-98be3a17c4a9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_35b15401-712f-488f-a20d-4a608ffffab3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_ff88681b-ac09-4fb4-9103-e2e626dd0e56" xlink:to="loc_us-gaap_CreditFacilityAxis_35b15401-712f-488f-a20d-4a608ffffab3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_35b15401-712f-488f-a20d-4a608ffffab3_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_35b15401-712f-488f-a20d-4a608ffffab3" xlink:to="loc_us-gaap_CreditFacilityDomain_35b15401-712f-488f-a20d-4a608ffffab3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_9dd01f4d-c47e-4c61-9f8e-ce63be576621" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_35b15401-712f-488f-a20d-4a608ffffab3" xlink:to="loc_us-gaap_CreditFacilityDomain_9dd01f4d-c47e-4c61-9f8e-ce63be576621" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TermLoanFacilityMember_2c2cd5be-c911-4b49-a2f7-838f7317d825" xlink:href="cpsi-20211231.xsd#cpsi_TermLoanFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_9dd01f4d-c47e-4c61-9f8e-ce63be576621" xlink:to="loc_cpsi_TermLoanFacilityMember_2c2cd5be-c911-4b49-a2f7-838f7317d825" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_de7b266e-cf6e-4dcb-a27b-cfa1a06148b6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_9dd01f4d-c47e-4c61-9f8e-ce63be576621" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_de7b266e-cf6e-4dcb-a27b-cfa1a06148b6" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebtNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebtNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/LongTermDebtNarrativeDetails" xlink:type="extended" id="ic0b61e07d64447769e8363c7765e9e63_LongTermDebtNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_ddeec7d4-e114-4c0e-8280-60af53d9eb12" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_ddeec7d4-e114-4c0e-8280-60af53d9eb12" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_9f8a9511-5abc-4324-b3c3-8f1aa8e683cb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_9f8a9511-5abc-4324-b3c3-8f1aa8e683cb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentPeriodicPaymentPrincipal_55d5e4ad-ddb8-4eb9-9335-3e3e8809dbc6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentPeriodicPaymentPrincipal"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_us-gaap_DebtInstrumentPeriodicPaymentPrincipal_55d5e4ad-ddb8-4eb9-9335-3e3e8809dbc6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit_15d06a54-4487-4a67-97e0-32daaf859164" xlink:href="cpsi-20211231.xsd#cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit_15d06a54-4487-4a67-97e0-32daaf859164" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum_103e2973-b9cd-47c8-80b5-7783ed2523e0" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum_103e2973-b9cd-47c8-80b5-7783ed2523e0" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum_15f13b36-4c6d-4977-b77b-3e301303dd18" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum_15f13b36-4c6d-4977-b77b-3e301303dd18" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage_aea69069-ba9c-43cd-b476-3aff4d6b3261" xlink:href="cpsi-20211231.xsd#cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage_aea69069-ba9c-43cd-b476-3aff4d6b3261" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio_59cf814e-766a-4737-a6b9-e37385f42e3a" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtCovenantConsolidatedLeverageRatio"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio_59cf814e-766a-4737-a6b9-e37385f42e3a" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_59c3c418-1e0b-4b2e-aabb-5dd5c1a07083" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_59c3c418-1e0b-4b2e-aabb-5dd5c1a07083" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_59c3c418-1e0b-4b2e-aabb-5dd5c1a07083_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_59c3c418-1e0b-4b2e-aabb-5dd5c1a07083" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_59c3c418-1e0b-4b2e-aabb-5dd5c1a07083_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_e810ddc9-f0a6-41d3-8771-b9edc694b44c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_59c3c418-1e0b-4b2e-aabb-5dd5c1a07083" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_e810ddc9-f0a6-41d3-8771-b9edc694b44c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_06c2d4e5-9d3e-416e-b29b-0e9365fb1398" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_e810ddc9-f0a6-41d3-8771-b9edc694b44c" xlink:to="loc_us-gaap_LineOfCreditMember_06c2d4e5-9d3e-416e-b29b-0e9365fb1398" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_2911b359-5831-4a82-b3cb-212aa5d49566" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:to="loc_us-gaap_CreditFacilityAxis_2911b359-5831-4a82-b3cb-212aa5d49566" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_2911b359-5831-4a82-b3cb-212aa5d49566_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_2911b359-5831-4a82-b3cb-212aa5d49566" xlink:to="loc_us-gaap_CreditFacilityDomain_2911b359-5831-4a82-b3cb-212aa5d49566_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_7a37efbf-3ca6-4271-81ea-cc7b552c3779" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_2911b359-5831-4a82-b3cb-212aa5d49566" xlink:to="loc_us-gaap_CreditFacilityDomain_7a37efbf-3ca6-4271-81ea-cc7b552c3779" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TermLoanFacilityMember_7af57ea4-ba56-454f-a91a-99d6f09877e4" xlink:href="cpsi-20211231.xsd#cpsi_TermLoanFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_7a37efbf-3ca6-4271-81ea-cc7b552c3779" xlink:to="loc_cpsi_TermLoanFacilityMember_7af57ea4-ba56-454f-a91a-99d6f09877e4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_2b0ad08b-73fd-46a4-a610-787eafc0e758" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_7a37efbf-3ca6-4271-81ea-cc7b552c3779" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_2b0ad08b-73fd-46a4-a610-787eafc0e758" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AmendedAndRestatedCreditAgreementMember_573cd654-772b-4637-b81b-00fef0aaf836" xlink:href="cpsi-20211231.xsd#cpsi_AmendedAndRestatedCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_7a37efbf-3ca6-4271-81ea-cc7b552c3779" xlink:to="loc_cpsi_AmendedAndRestatedCreditAgreementMember_573cd654-772b-4637-b81b-00fef0aaf836" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_9a88b2b1-4866-4a42-a158-24eaa27912f5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:to="loc_us-gaap_VariableRateAxis_9a88b2b1-4866-4a42-a158-24eaa27912f5" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_9a88b2b1-4866-4a42-a158-24eaa27912f5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VariableRateAxis_9a88b2b1-4866-4a42-a158-24eaa27912f5" xlink:to="loc_us-gaap_VariableRateDomain_9a88b2b1-4866-4a42-a158-24eaa27912f5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_4890a150-f7e9-4535-af90-b3d264709417" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VariableRateAxis_9a88b2b1-4866-4a42-a158-24eaa27912f5" xlink:to="loc_us-gaap_VariableRateDomain_4890a150-f7e9-4535-af90-b3d264709417" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FederalFundsEffectiveSwapRateMember_66a1a0df-520a-40a5-b5b5-3366ac351aad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FederalFundsEffectiveSwapRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_4890a150-f7e9-4535-af90-b3d264709417" xlink:to="loc_us-gaap_FederalFundsEffectiveSwapRateMember_66a1a0df-520a-40a5-b5b5-3366ac351aad" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_a0450870-fd53-48c6-aa82-0d9b90bf661e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_4890a150-f7e9-4535-af90-b3d264709417" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_a0450870-fd53-48c6-aa82-0d9b90bf661e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_6caee2fd-9e78-4452-8e1f-53462f84a135" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BaseRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_4890a150-f7e9-4535-af90-b3d264709417" xlink:to="loc_us-gaap_BaseRateMember_6caee2fd-9e78-4452-8e1f-53462f84a135" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_3d32a3c5-c608-4cda-a636-95f786472da9" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:to="loc_srt_RangeAxis_3d32a3c5-c608-4cda-a636-95f786472da9" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_3d32a3c5-c608-4cda-a636-95f786472da9_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_3d32a3c5-c608-4cda-a636-95f786472da9" xlink:to="loc_srt_RangeMember_3d32a3c5-c608-4cda-a636-95f786472da9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_76187e31-0679-4188-91da-2c294343ab71" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_3d32a3c5-c608-4cda-a636-95f786472da9" xlink:to="loc_srt_RangeMember_76187e31-0679-4188-91da-2c294343ab71" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_ed963372-e245-4019-87f1-5f8c7ad3a0f5" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_76187e31-0679-4188-91da-2c294343ab71" xlink:to="loc_srt_MinimumMember_ed963372-e245-4019-87f1-5f8c7ad3a0f5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_3d387075-e258-49a8-a651-b5fe4a315915" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_76187e31-0679-4188-91da-2c294343ab71" xlink:to="loc_srt_MaximumMember_3d387075-e258-49a8-a651-b5fe4a315915" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis_5058d493-ad18-407b-84ce-4f2794ee09b9" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementScenarioAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:to="loc_srt_StatementScenarioAxis_5058d493-ad18-407b-84ce-4f2794ee09b9" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_5058d493-ad18-407b-84ce-4f2794ee09b9_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementScenarioAxis_5058d493-ad18-407b-84ce-4f2794ee09b9" xlink:to="loc_srt_ScenarioUnspecifiedDomain_5058d493-ad18-407b-84ce-4f2794ee09b9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_8e99a6f9-4a54-45d5-b357-9e76ebf8db86" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementScenarioAxis_5058d493-ad18-407b-84ce-4f2794ee09b9" xlink:to="loc_srt_ScenarioUnspecifiedDomain_8e99a6f9-4a54-45d5-b357-9e76ebf8db86" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember_56161bbb-df41-414f-8227-67d57fe64c6a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioForecastMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ScenarioUnspecifiedDomain_8e99a6f9-4a54-45d5-b357-9e76ebf8db86" xlink:to="loc_srt_ScenarioForecastMember_56161bbb-df41-414f-8227-67d57fe64c6a" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebtAnticipatedAnnualFutureMaturitiesDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails" xlink:type="extended" id="idf2409b8971a48ebb0ca0119fda407fe_LongTermDebtAnticipatedAnnualFutureMaturitiesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_3fc0abc5-7112-443f-b601-464b64cabb5a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_3fc0abc5-7112-443f-b601-464b64cabb5a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_d7f4ff96-7228-4c8f-971b-1e95233074a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_d7f4ff96-7228-4c8f-971b-1e95233074a1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_70bb711d-353c-4ebe-8499-fda3a776f1af" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_70bb711d-353c-4ebe-8499-fda3a776f1af" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_8d7b60bb-f48a-4e6f-bff4-9a21bbc3eefb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_8d7b60bb-f48a-4e6f-bff4-9a21bbc3eefb" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtMaturityAfterYearFour_62a44a3b-4de5-4d8a-b617-0020160aa9b4" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtMaturityAfterYearFour"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_cpsi_LongTermDebtMaturityAfterYearFour_62a44a3b-4de5-4d8a-b617-0020160aa9b4" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_449dfed2-a40a-4d8a-bf2f-972df12f9a51" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_us-gaap_LongTermDebt_449dfed2-a40a-4d8a-bf2f-972df12f9a51" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_540ebb63-8e10-4d48-b556-7ef93364fc39" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_us-gaap_DebtInstrumentTable_540ebb63-8e10-4d48-b556-7ef93364fc39" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_463333da-d450-41ed-9e94-28948d5aabb3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_540ebb63-8e10-4d48-b556-7ef93364fc39" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_463333da-d450-41ed-9e94-28948d5aabb3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_463333da-d450-41ed-9e94-28948d5aabb3_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_463333da-d450-41ed-9e94-28948d5aabb3" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_463333da-d450-41ed-9e94-28948d5aabb3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_d807acfc-75f0-452b-b9fd-a51c3c0dc310" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_463333da-d450-41ed-9e94-28948d5aabb3" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_d807acfc-75f0-452b-b9fd-a51c3c0dc310" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_d3e70dde-1375-478d-81df-87f5c7c7af61" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_d807acfc-75f0-452b-b9fd-a51c3c0dc310" xlink:to="loc_us-gaap_LineOfCreditMember_d3e70dde-1375-478d-81df-87f5c7c7af61" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BenefitPlansDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BenefitPlansDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/BenefitPlansDetails" xlink:type="extended" id="i29277e975568474eadb5a159a321e31f_BenefitPlansDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_b421bc19-5afc-4b2e-93eb-e0efa3b90691" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum_7d39cdb3-06f2-4b88-aba3-3c7ba0417301" xlink:href="cpsi-20211231.xsd#cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_b421bc19-5afc-4b2e-93eb-e0efa3b90691" xlink:to="loc_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum_7d39cdb3-06f2-4b88-aba3-3c7ba0417301" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_83b4f1a7-3ba2-474f-9cf6-b59e0d921867" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_b421bc19-5afc-4b2e-93eb-e0efa3b90691" xlink:to="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_83b4f1a7-3ba2-474f-9cf6-b59e0d921867" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanTable_08de6905-ad45-4c82-911c-ca590ecba8fd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_b421bc19-5afc-4b2e-93eb-e0efa3b90691" xlink:to="loc_us-gaap_DefinedContributionPlanTable_08de6905-ad45-4c82-911c-ca590ecba8fd" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanNameAxis_db3418ac-a4d5-4861-8c75-e4964a284732" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetirementPlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DefinedContributionPlanTable_08de6905-ad45-4c82-911c-ca590ecba8fd" xlink:to="loc_us-gaap_RetirementPlanNameAxis_db3418ac-a4d5-4861-8c75-e4964a284732" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanNameDomain_db3418ac-a4d5-4861-8c75-e4964a284732_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetirementPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanNameAxis_db3418ac-a4d5-4861-8c75-e4964a284732" xlink:to="loc_us-gaap_RetirementPlanNameDomain_db3418ac-a4d5-4861-8c75-e4964a284732_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanNameDomain_628efda4-7dbe-4784-a01e-8c86aa0e228c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetirementPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanNameAxis_db3418ac-a4d5-4861-8c75-e4964a284732" xlink:to="loc_us-gaap_RetirementPlanNameDomain_628efda4-7dbe-4784-a01e-8c86aa0e228c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_CPSI401kRetirementPlanMember_097978f5-8e9b-4796-a15e-2cf2ddcf8f1a" xlink:href="cpsi-20211231.xsd#cpsi_CPSI401kRetirementPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanNameDomain_628efda4-7dbe-4784-a01e-8c86aa0e228c" xlink:to="loc_cpsi_CPSI401kRetirementPlanMember_097978f5-8e9b-4796-a15e-2cf2ddcf8f1a" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FairValueDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FairValueDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/FairValueDetails" xlink:type="extended" id="i72959434180b4f4293a1dbcf5bac6aeb_FairValueDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_dec41f06-2b6c-4ebe-9b3a-b15f6c52ef23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_796316a7-e19e-45c4-8c51-43b6e6fbcdc8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_dec41f06-2b6c-4ebe-9b3a-b15f6c52ef23" xlink:to="loc_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_796316a7-e19e-45c4-8c51-43b6e6fbcdc8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityFairValueDisclosure_cfced897-e0fc-47bb-8c7a-6b13c1bf3b8c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_dec41f06-2b6c-4ebe-9b3a-b15f6c52ef23" xlink:to="loc_us-gaap_EquityFairValueDisclosure_cfced897-e0fc-47bb-8c7a-6b13c1bf3b8c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_277c546a-b68f-43f3-a67a-8c1f825fee56" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_dec41f06-2b6c-4ebe-9b3a-b15f6c52ef23" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_277c546a-b68f-43f3-a67a-8c1f825fee56" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementBasisAxis_5f993a4d-6cb2-4bc9-b657-b62f733bb2b5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementBasisAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_277c546a-b68f-43f3-a67a-8c1f825fee56" xlink:to="loc_us-gaap_FairValueByMeasurementBasisAxis_5f993a4d-6cb2-4bc9-b657-b62f733bb2b5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_5f993a4d-6cb2-4bc9-b657-b62f733bb2b5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementBasisAxis_5f993a4d-6cb2-4bc9-b657-b62f733bb2b5" xlink:to="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_5f993a4d-6cb2-4bc9-b657-b62f733bb2b5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureItemAmountsDomain_bd9db92f-a55f-4780-a45b-307f5f33cfb3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosureItemAmountsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementBasisAxis_5f993a4d-6cb2-4bc9-b657-b62f733bb2b5" xlink:to="loc_us-gaap_FairValueDisclosureItemAmountsDomain_bd9db92f-a55f-4780-a45b-307f5f33cfb3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_c4d38115-c1cf-40a7-9f46-7521cd4d41f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueDisclosureItemAmountsDomain_bd9db92f-a55f-4780-a45b-307f5f33cfb3" xlink:to="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_c4d38115-c1cf-40a7-9f46-7521cd4d41f9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CarryingReportedAmountFairValueDisclosureMember_d455698e-ea5c-43aa-aa41-095bada2aaa0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CarryingReportedAmountFairValueDisclosureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_c4d38115-c1cf-40a7-9f46-7521cd4d41f9" xlink:to="loc_us-gaap_CarryingReportedAmountFairValueDisclosureMember_d455698e-ea5c-43aa-aa41-095bada2aaa0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember_3bfc95e4-b0cc-4924-8796-c56e7ea38d46" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EstimateOfFairValueFairValueDisclosureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_c4d38115-c1cf-40a7-9f46-7521cd4d41f9" xlink:to="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember_3bfc95e4-b0cc-4924-8796-c56e7ea38d46" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f48488c9-0376-4208-b184-f00bc1a85ed8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_277c546a-b68f-43f3-a67a-8c1f825fee56" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f48488c9-0376-4208-b184-f00bc1a85ed8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_f48488c9-0376-4208-b184-f00bc1a85ed8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f48488c9-0376-4208-b184-f00bc1a85ed8" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_f48488c9-0376-4208-b184-f00bc1a85ed8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9af1dfed-a6d0-459a-8e8a-d73ae615e380" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f48488c9-0376-4208-b184-f00bc1a85ed8" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9af1dfed-a6d0-459a-8e8a-d73ae615e380" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_dc15a1b3-f4dd-471b-9453-3583d309c372" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9af1dfed-a6d0-459a-8e8a-d73ae615e380" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_dc15a1b3-f4dd-471b-9453-3583d309c372" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_5effe972-b472-487c-9c63-a276672a73fc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9af1dfed-a6d0-459a-8e8a-d73ae615e380" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_5effe972-b472-487c-9c63-a276672a73fc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_588e59cb-1c81-46f8-a739-030d52461988" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9af1dfed-a6d0-459a-8e8a-d73ae615e380" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_588e59cb-1c81-46f8-a739-030d52461988" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SegmentReportingDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SegmentReportingDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/SegmentReportingDetails" xlink:type="extended" id="iaa4122adaa854bada5cfdaabed409b7a_SegmentReportingDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments_0c0d1eb3-25ba-49b7-a5a1-7eb3127c5a19" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_NumberOfOperatingSegments_0c0d1eb3-25ba-49b7-a5a1-7eb3127c5a19" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_1c72ae78-475a-46b4-b5f3-93c5ab4b99d3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_1c72ae78-475a-46b4-b5f3-93c5ab4b99d3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_3f12af62-6de2-4e75-886b-3c66c2293d8e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_3f12af62-6de2-4e75-886b-3c66c2293d8e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_f7ac2ec6-9de6-4e16-aebd-cb69249f924c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_GrossProfit_f7ac2ec6-9de6-4e16-aebd-cb69249f924c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_cf32bebd-fcc8-4766-aa0c-873be72b8dd3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_OperatingExpenses_cf32bebd-fcc8-4766-aa0c-873be72b8dd3" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncome_7db0c132-534c-470a-af6e-634c6184526e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncome"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_OtherNonoperatingIncome_7db0c132-534c-470a-af6e-634c6184526e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_7f44b64b-4056-400b-aa3d-c8b678aaff1c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_7f44b64b-4056-400b-aa3d-c8b678aaff1c" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_351be94c-42a1-4eee-ab4a-e291de996eaf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_351be94c-42a1-4eee-ab4a-e291de996eaf" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_1925bf30-db2f-4adc-aa17-4bc61ab9e965" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_InterestExpense_1925bf30-db2f-4adc-aa17-4bc61ab9e965" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_f058fb5d-44ad-49e0-bf2a-767ec06d55ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_f058fb5d-44ad-49e0-bf2a-767ec06d55ac" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_0957887c-ffcd-4648-8217-9304304bc92a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_0957887c-ffcd-4648-8217-9304304bc92a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_a0e12b03-fd87-4cfb-9375-dc6e5a9b9b26" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_0957887c-ffcd-4648-8217-9304304bc92a" xlink:to="loc_srt_ProductOrServiceAxis_a0e12b03-fd87-4cfb-9375-dc6e5a9b9b26" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_a0e12b03-fd87-4cfb-9375-dc6e5a9b9b26_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_a0e12b03-fd87-4cfb-9375-dc6e5a9b9b26" xlink:to="loc_srt_ProductsAndServicesDomain_a0e12b03-fd87-4cfb-9375-dc6e5a9b9b26_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_2c0fba06-a886-4884-89cd-a2a6d22fbf8f" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_a0e12b03-fd87-4cfb-9375-dc6e5a9b9b26" xlink:to="loc_srt_ProductsAndServicesDomain_2c0fba06-a886-4884-89cd-a2a6d22fbf8f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SystemSalesAndSupportRevenueRecurringMember_7f209256-ca1e-4868-984b-5626f6dd1f6e" xlink:href="cpsi-20211231.xsd#cpsi_SystemSalesAndSupportRevenueRecurringMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_2c0fba06-a886-4884-89cd-a2a6d22fbf8f" xlink:to="loc_cpsi_SystemSalesAndSupportRevenueRecurringMember_7f209256-ca1e-4868-984b-5626f6dd1f6e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember_a0764e90-9df7-42e5-9e50-e46bff1b208e" xlink:href="cpsi-20211231.xsd#cpsi_SystemsSalesAndSupportRevenueNonrecurringMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_2c0fba06-a886-4884-89cd-a2a6d22fbf8f" xlink:to="loc_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember_a0764e90-9df7-42e5-9e50-e46bff1b208e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_3b29114c-4fb7-4663-9511-e8fa3a6db7fa" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_0957887c-ffcd-4648-8217-9304304bc92a" xlink:to="loc_srt_ConsolidationItemsAxis_3b29114c-4fb7-4663-9511-e8fa3a6db7fa" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_3b29114c-4fb7-4663-9511-e8fa3a6db7fa_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_3b29114c-4fb7-4663-9511-e8fa3a6db7fa" xlink:to="loc_srt_ConsolidationItemsDomain_3b29114c-4fb7-4663-9511-e8fa3a6db7fa_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_cc1983f0-7c93-4a31-bf16-51f9f7dfb3bc" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_3b29114c-4fb7-4663-9511-e8fa3a6db7fa" xlink:to="loc_srt_ConsolidationItemsDomain_cc1983f0-7c93-4a31-bf16-51f9f7dfb3bc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_f458855f-db3e-4caa-92b1-b6fde2919633" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_cc1983f0-7c93-4a31-bf16-51f9f7dfb3bc" xlink:to="loc_us-gaap_OperatingSegmentsMember_f458855f-db3e-4caa-92b1-b6fde2919633" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_d762dd02-2386-4b17-aa77-6411a5715ac6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_cc1983f0-7c93-4a31-bf16-51f9f7dfb3bc" xlink:to="loc_us-gaap_CorporateNonSegmentMember_d762dd02-2386-4b17-aa77-6411a5715ac6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_90e14f20-82ef-4224-929e-b9b901d75dd1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_0957887c-ffcd-4648-8217-9304304bc92a" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_90e14f20-82ef-4224-929e-b9b901d75dd1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_90e14f20-82ef-4224-929e-b9b901d75dd1_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_90e14f20-82ef-4224-929e-b9b901d75dd1" xlink:to="loc_us-gaap_SegmentDomain_90e14f20-82ef-4224-929e-b9b901d75dd1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_96fe0225-01bb-43b2-9489-ba16bff6157e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_90e14f20-82ef-4224-929e-b9b901d75dd1" xlink:to="loc_us-gaap_SegmentDomain_96fe0225-01bb-43b2-9489-ba16bff6157e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AcuteCareMember_81938378-28b7-4275-8d72-a54edded0122" xlink:href="cpsi-20211231.xsd#cpsi_AcuteCareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_96fe0225-01bb-43b2-9489-ba16bff6157e" xlink:to="loc_cpsi_AcuteCareMember_81938378-28b7-4275-8d72-a54edded0122" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PostAcuteCareMember_f2e0b573-b6f2-455b-b273-c574ddc08b87" xlink:href="cpsi-20211231.xsd#cpsi_PostAcuteCareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_96fe0225-01bb-43b2-9489-ba16bff6157e" xlink:to="loc_cpsi_PostAcuteCareMember_f2e0b573-b6f2-455b-b273-c574ddc08b87" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TruBridgeRycanandOtherOutsourcingMember_da888168-d1b0-4f34-a7d3-24a71ed54f8b" xlink:href="cpsi-20211231.xsd#cpsi_TruBridgeRycanandOtherOutsourcingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_96fe0225-01bb-43b2-9489-ba16bff6157e" xlink:to="loc_cpsi_TruBridgeRycanandOtherOutsourcingMember_da888168-d1b0-4f34-a7d3-24a71ed54f8b" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SubsequentEventsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SubsequentEventsDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/SubsequentEventsDetails" xlink:type="extended" id="if2912ff95ca0426cbdd65ed6f2cc9433_SubsequentEventsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems_31422950-7a30-4fa7-8abc-9be9ab9a91d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_7ae101b2-b3ed-44b6-aa6e-6e82ff8ba07f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_31422950-7a30-4fa7-8abc-9be9ab9a91d6" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_7ae101b2-b3ed-44b6-aa6e-6e82ff8ba07f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable_45c7d3e1-3500-4a35-9b36-9f79c7a509a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SubsequentEventLineItems_31422950-7a30-4fa7-8abc-9be9ab9a91d6" xlink:to="loc_us-gaap_SubsequentEventTable_45c7d3e1-3500-4a35-9b36-9f79c7a509a1" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_2b03b197-1dec-4a78-a42f-899b11376d86" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_45c7d3e1-3500-4a35-9b36-9f79c7a509a1" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_2b03b197-1dec-4a78-a42f-899b11376d86" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_2b03b197-1dec-4a78-a42f-899b11376d86_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_2b03b197-1dec-4a78-a42f-899b11376d86" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_2b03b197-1dec-4a78-a42f-899b11376d86_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_ab82149b-01b2-4b62-9ba6-29a096a69277" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_2b03b197-1dec-4a78-a42f-899b11376d86" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_ab82149b-01b2-4b62-9ba6-29a096a69277" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_9ff62456-68f7-4cb3-9414-1a67072b7169" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_ab82149b-01b2-4b62-9ba6-29a096a69277" xlink:to="loc_us-gaap_SubsequentEventMember_9ff62456-68f7-4cb3-9414-1a67072b7169" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_58703eaa-0ba7-4133-96b5-6b703cf95023" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_45c7d3e1-3500-4a35-9b36-9f79c7a509a1" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_58703eaa-0ba7-4133-96b5-6b703cf95023" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_58703eaa-0ba7-4133-96b5-6b703cf95023_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_58703eaa-0ba7-4133-96b5-6b703cf95023" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_58703eaa-0ba7-4133-96b5-6b703cf95023_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1b02d6b1-975b-4e56-8935-deefa4186fc1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_58703eaa-0ba7-4133-96b5-6b703cf95023" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1b02d6b1-975b-4e56-8935-deefa4186fc1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_HealthcareResourceGroupIncMember_de5c7f5c-e348-48c0-ad34-212cc3d74bee" xlink:href="cpsi-20211231.xsd#cpsi_HealthcareResourceGroupIncMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1b02d6b1-975b-4e56-8935-deefa4186fc1" xlink:to="loc_cpsi_HealthcareResourceGroupIncMember_de5c7f5c-e348-48c0-ad34-212cc3d74bee" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails" xlink:type="extended" id="ifeda5c80fb07433abdb162ab726ba480_ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_52beb144-1ddb-477e-8997-a82e686aa598" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_f2aee9be-066e-4b18-9aec-52adecf350ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_52beb144-1ddb-477e-8997-a82e686aa598" xlink:to="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_f2aee9be-066e-4b18-9aec-52adecf350ac" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_bfe33972-2b18-4249-9bad-e29ca9d72bfd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_f2aee9be-066e-4b18-9aec-52adecf350ac" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_bfe33972-2b18-4249-9bad-e29ca9d72bfd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_f4ba44b1-1ea7-434a-b593-7e0f2a767adb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_f2aee9be-066e-4b18-9aec-52adecf350ac" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_f4ba44b1-1ea7-434a-b593-7e0f2a767adb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions_cb165162-e3fe-44f2-8ac9-ffa92ddc2c55" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_f2aee9be-066e-4b18-9aec-52adecf350ac" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDeductions_cb165162-e3fe-44f2-8ac9-ffa92ddc2c55" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_444c195e-3d28-4856-b7e0-b51ca60fb982" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_b5b32dad-7374-47d4-886b-f97a164597c8" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_52beb144-1ddb-477e-8997-a82e686aa598" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_b5b32dad-7374-47d4-886b-f97a164597c8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_366ebaae-6714-44e8-9090-a415d6f3570f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_b5b32dad-7374-47d4-886b-f97a164597c8" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_366ebaae-6714-44e8-9090-a415d6f3570f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_366ebaae-6714-44e8-9090-a415d6f3570f_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_366ebaae-6714-44e8-9090-a415d6f3570f" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_366ebaae-6714-44e8-9090-a415d6f3570f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_8d08d5ab-de0e-4cbc-85e5-30d10c4c08c0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_366ebaae-6714-44e8-9090-a415d6f3570f" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_8d08d5ab-de0e-4cbc-85e5-30d10c4c08c0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForCreditLossMember_70957ba6-f9d0-446b-a2db-b8309252a670" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForCreditLossMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_8d08d5ab-de0e-4cbc-85e5-30d10c4c08c0" xlink:to="loc_us-gaap_AllowanceForCreditLossMember_70957ba6-f9d0-446b-a2db-b8309252a670" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails"/>
  <link:definitionLink xlink:role="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails" xlink:type="extended" id="i40af5f6f86e8476593eafc5619d20337_ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f24e5bad-ad58-4566-abb2-88682ecd0ebb" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_72edf3b4-1ce0-401b-818f-66ace009b2c3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f24e5bad-ad58-4566-abb2-88682ecd0ebb" xlink:to="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_72edf3b4-1ce0-401b-818f-66ace009b2c3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_4ce694d4-2659-46dc-bf82-b2e1f9161f06" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_72edf3b4-1ce0-401b-818f-66ace009b2c3" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_4ce694d4-2659-46dc-bf82-b2e1f9161f06" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_2e6aa406-18ed-444c-a842-5b6cf3413906" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_72edf3b4-1ce0-401b-818f-66ace009b2c3" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_2e6aa406-18ed-444c-a842-5b6cf3413906" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions_96f88790-5df1-422d-bd61-8ae251749dfc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_72edf3b4-1ce0-401b-818f-66ace009b2c3" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDeductions_96f88790-5df1-422d-bd61-8ae251749dfc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_61c9f30f-7802-4b24-b104-81ab948e28dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f123cb91-a4c3-466a-a007-60a848ef3203" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f24e5bad-ad58-4566-abb2-88682ecd0ebb" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f123cb91-a4c3-466a-a007-60a848ef3203" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_07d23acd-7317-44d3-b779-90a01d7ced85" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f123cb91-a4c3-466a-a007-60a848ef3203" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_07d23acd-7317-44d3-b779-90a01d7ced85" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_07d23acd-7317-44d3-b779-90a01d7ced85_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_07d23acd-7317-44d3-b779-90a01d7ced85" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_07d23acd-7317-44d3-b779-90a01d7ced85_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_b1847864-92b9-45bf-8587-69f33f256bed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_07d23acd-7317-44d3-b779-90a01d7ced85" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_b1847864-92b9-45bf-8587-69f33f256bed" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AllowanceForCreditLossesMember_446e5bfb-123c-46cf-8095-b3840d300981" xlink:href="cpsi-20211231.xsd#cpsi_AllowanceForCreditLossesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_b1847864-92b9-45bf-8587-69f33f256bed" xlink:to="loc_cpsi_AllowanceForCreditLossesMember_446e5bfb-123c-46cf-8095-b3840d300981" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd#eedm"/>
  <link:definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc" order="0"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>10
<FILENAME>cpsi-20211231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:5f089e39-5400-42a6-8cf7-a58d1803f56b,g:4b2da0af-6aab-4056-86f4-46579ce6ecbb-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_44439072-78e1-43f5-a782-d2a945b9e49c_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock repurchase program, authorized amount</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:to="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_36b66775-992c-49e6-b807-d8719477483f_terseLabel_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental disclosure of cash flow information:</link:label>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_label_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NotesAndLoansReceivableNetNoncurrent_4cd952cc-7cd2-4fff-bc60-374b76e3764e_terseLabel_en-US" xlink:label="lab_us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing receivables, net of current portion</link:label>
    <link:label id="lab_us-gaap_NotesAndLoansReceivableNetNoncurrent_label_en-US" xlink:label="lab_us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, after Allowance for Credit Loss, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:to="lab_us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_CostsToObtainAndFulfillContractsCapitalized_ccf2fcfb-50d9-4838-9bde-73de2729d24b_terseLabel_en-US" xlink:label="lab_cpsi_CostsToObtainAndFulfillContractsCapitalized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs to obtain and fulfill contracts capitalized</link:label>
    <link:label id="lab_cpsi_CostsToObtainAndFulfillContractsCapitalized_label_en-US" xlink:label="lab_cpsi_CostsToObtainAndFulfillContractsCapitalized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs To Obtain And Fulfill Contracts Capitalized</link:label>
    <link:label id="lab_cpsi_CostsToObtainAndFulfillContractsCapitalized_documentation_en-US" xlink:label="lab_cpsi_CostsToObtainAndFulfillContractsCapitalized" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"></link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_CostsToObtainAndFulfillContractsCapitalized" xlink:href="cpsi-20211231.xsd#cpsi_CostsToObtainAndFulfillContractsCapitalized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_CostsToObtainAndFulfillContractsCapitalized" xlink:to="lab_cpsi_CostsToObtainAndFulfillContractsCapitalized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_3f2740b6-5064-4642-96ae-6409e2d5bd8c_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. federal statutory income tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_4323788c-2af3-4b3f-9f11-723da29d7ecb_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income Per Share</link:label>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_8caae1a2-cdf8-4eae-aed7-40c98650c667_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and issued (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_5728dcc2-020a-4d0c-8eb5-303e3d44472e_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_12f0ed97-b1c6-4de0-9c24-6261ddc737af_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_130e66ab-4249-4fde-9c81-01e374949b24_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold improvements</link:label>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_label_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsMember" xlink:to="lab_us-gaap_LeaseholdImprovementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_8b55b646-a038-4855-9afc-74090c96edcf_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_7bdf4f7f-466d-44a0-b225-fb9b7f8883e6_verboseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_46f5d911-a6b7-456a-ad91-ba99ca6ad8c2_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (loss)</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_4d835da2-684c-444e-ab4b-2cb32911ad51_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability_bad47ef4-43ff-410d-b132-f5c714adc0b6_negatedLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contingent consideration</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Contingent Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_21a31b2e-2a86-4f58-9673-cb38ad4cc285_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RisksAndUncertaintiesAbstract_label_en-US" xlink:label="lab_us-gaap_RisksAndUncertaintiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risks and Uncertainties [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RisksAndUncertaintiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract" xlink:to="lab_us-gaap_RisksAndUncertaintiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue_e60c3d12-b84b-4267-a83f-bc3897e17fdb_terseLabel_en-US" xlink:label="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited or unearned (in dollars per share)</link:label>
    <link:label id="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Actual Performance, Net Of Forfeitures, Weighted-Average Grant Date Fair Value</link:label>
    <link:label id="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue_documentation_en-US" xlink:label="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Actual Performance, Net Of Forfeitures, Weighted-Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue" xlink:href="cpsi-20211231.xsd#cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_8d793ee1-08f2-4d5e-987d-7bb5b12e3b3e_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net operating loss</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_9310258c-503f-4562-b94d-7faf508a9a29_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_cff79504-d762-42ea-875a-e6f5162217ca_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated amortization</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1ecd83ed-ec9f-4246-8ddb-69a2f12665ac_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_label_en-US" xlink:label="lab_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:to="lab_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts_aa50e182-885e-4633-8f82-aa73960841b9_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisition related costs</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Acquisition Related Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_9e2f3dd7-3450-4d23-89d0-1a27c665b9d3_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Range [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_d01caa2c-498a-463c-a324-82ad8c0da5d5_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Anticipated Annual Future Maturities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Maturities of Long-term Debt [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_FinancingReceivableCreditQualityIndicatorsAbstract_0015e6f7-b71b-408b-a7bb-7cbfce3aae9d_terseLabel_en-US" xlink:label="lab_cpsi_FinancingReceivableCreditQualityIndicatorsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer balances with amounts reclassified to trade accounts receivable that are:</link:label>
    <link:label id="lab_cpsi_FinancingReceivableCreditQualityIndicatorsAbstract_label_en-US" xlink:label="lab_cpsi_FinancingReceivableCreditQualityIndicatorsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable Credit Quality Indicators [Abstract]</link:label>
    <link:label id="lab_cpsi_FinancingReceivableCreditQualityIndicatorsAbstract_documentation_en-US" xlink:label="lab_cpsi_FinancingReceivableCreditQualityIndicatorsAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable Credit Quality Indicators [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancingReceivableCreditQualityIndicatorsAbstract" xlink:href="cpsi-20211231.xsd#cpsi_FinancingReceivableCreditQualityIndicatorsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_FinancingReceivableCreditQualityIndicatorsAbstract" xlink:to="lab_cpsi_FinancingReceivableCreditQualityIndicatorsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock_613ece01-b16b-4346-9ded-36fee9f2e5f6_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting</link:label>
    <link:label id="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_02dd38b5-7708-49c0-91e5-d94a1f514680_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_aedbca71-6c35-4a8f-8456-d1d94c72dd57_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_891b776a-0960-44da-9478-f626b97d2fe8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_cb09ce33-14fc-4f1a-b9c6-ac628742d08c_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Contract with Customer, Asset and Liability</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_d8a394f4-1a2b-4d5e-9822-0d2e3d43fe2f_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital, Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_e86d92d0-3a3d-40cb-86c8-0518cd5ec0d5_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average remaining lease term in years</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForNotesAndLoansReceivableCurrent_39909cd1-a3a0-4796-af0e-915b59490735_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForNotesAndLoansReceivableCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: allowance for losses</link:label>
    <link:label id="lab_us-gaap_AllowanceForNotesAndLoansReceivableCurrent_label_en-US" xlink:label="lab_us-gaap_AllowanceForNotesAndLoansReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForNotesAndLoansReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForNotesAndLoansReceivableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForNotesAndLoansReceivableCurrent" xlink:to="lab_us-gaap_AllowanceForNotesAndLoansReceivableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_020b3351-23d4-40a9-9dcd-7a2bed30f17c_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets, net of current portion</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NotesAndLoansReceivableNetCurrent_cefbc6c1-f596-4ae2-85eb-eff5e19dc13a_terseLabel_en-US" xlink:label="lab_us-gaap_NotesAndLoansReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing receivables, current portion, net</link:label>
    <link:label id="lab_us-gaap_NotesAndLoansReceivableNetCurrent_e17021d0-1e7a-4e94-b56d-e7ac5323c66a_totalLabel_en-US" xlink:label="lab_us-gaap_NotesAndLoansReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term payment plans, net</link:label>
    <link:label id="lab_us-gaap_NotesAndLoansReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_NotesAndLoansReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NotesAndLoansReceivableNetCurrent" xlink:to="lab_us-gaap_NotesAndLoansReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_901fc3a7-0003-4bb6-bb8a-6b56eef39fbd_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementBusinessSegmentsAxis_d63ced68-19e6-47b7-90af-fb4651304370_terseLabel_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementBusinessSegmentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis" xlink:to="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CompensationAndRetirementDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Benefits [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="lab_us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2f720909-f97c-4ddf-a327-2e8f0d583210_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (decrease) in cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_AmendedAndRestatedCreditAgreementMember_385617fe-3213-4884-b22c-404bb9664b86_terseLabel_en-US" xlink:label="lab_cpsi_AmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amended and Restated Credit Agreement</link:label>
    <link:label id="lab_cpsi_AmendedAndRestatedCreditAgreementMember_label_en-US" xlink:label="lab_cpsi_AmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amended and Restated Credit Agreement [Member]</link:label>
    <link:label id="lab_cpsi_AmendedAndRestatedCreditAgreementMember_documentation_en-US" xlink:label="lab_cpsi_AmendedAndRestatedCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amended and Restated Credit Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AmendedAndRestatedCreditAgreementMember" xlink:href="cpsi-20211231.xsd#cpsi_AmendedAndRestatedCreditAgreementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_AmendedAndRestatedCreditAgreementMember" xlink:to="lab_cpsi_AmendedAndRestatedCreditAgreementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_1324c306-36e8-4fc1-983b-bf47da7bdb74_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_524ddfa0-d66e-439a-957a-ab97990edb2a_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_label_en-US" xlink:label="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Maturity, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:to="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_e8076b85-7051-4097-a45f-228ab219eae9_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_959ef8a2-512c-4c7c-8e56-b9f53268f234_terseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Financing Receivable [Axis]</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_label_en-US" xlink:label="lab_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Financing Receivable [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis" xlink:to="lab_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_7d06c339-d2da-4a9f-b54f-3ca8b2003ed0_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_e419af78-fe19-429c-84db-694b107427be_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid income taxes/income taxes payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Income Taxes Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NotesAndLoansReceivableGrossCurrent_7190af36-3f27-42c9-a4ed-9225a7b93498_terseLabel_en-US" xlink:label="lab_us-gaap_NotesAndLoansReceivableGrossCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term payment plans, gross</link:label>
    <link:label id="lab_us-gaap_NotesAndLoansReceivableGrossCurrent_label_en-US" xlink:label="lab_us-gaap_NotesAndLoansReceivableGrossCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, before Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableGrossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableGrossCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NotesAndLoansReceivableGrossCurrent" xlink:to="lab_us-gaap_NotesAndLoansReceivableGrossCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems_85a6dca5-b026-4aa1-b41a-ced6795de5a4_terseLabel_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]</link:label>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems_label_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_LongTermDebtMaturityAfterYearFour_2d29bc2f-cb7b-4931-8a0f-7c78d14ec98a_terseLabel_en-US" xlink:label="lab_cpsi_LongTermDebtMaturityAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_cpsi_LongTermDebtMaturityAfterYearFour_label_en-US" xlink:label="lab_cpsi_LongTermDebtMaturityAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Maturity, After Year Four</link:label>
    <link:label id="lab_cpsi_LongTermDebtMaturityAfterYearFour_documentation_en-US" xlink:label="lab_cpsi_LongTermDebtMaturityAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Maturity, After Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtMaturityAfterYearFour" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtMaturityAfterYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_LongTermDebtMaturityAfterYearFour" xlink:to="lab_cpsi_LongTermDebtMaturityAfterYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanNameDomain_d2b5b70a-4fef-41cc-8513-318cd67bce30_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_RetirementPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetirementPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanNameDomain" xlink:to="lab_us-gaap_RetirementPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_3ac3959e-3c3f-4cdf-976f-b83b496f30ab_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additions charged to cost and expenses</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_PaymentsOnEarlyTerminationOfLease_e47979ff-c79f-439a-a4d7-266947deafdf_terseLabel_en-US" xlink:label="lab_cpsi_PaymentsOnEarlyTerminationOfLease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments on early termination of lease</link:label>
    <link:label id="lab_cpsi_PaymentsOnEarlyTerminationOfLease_label_en-US" xlink:label="lab_cpsi_PaymentsOnEarlyTerminationOfLease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments On Early Termination Of Lease</link:label>
    <link:label id="lab_cpsi_PaymentsOnEarlyTerminationOfLease_documentation_en-US" xlink:label="lab_cpsi_PaymentsOnEarlyTerminationOfLease" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments On Early Termination Of Lease</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PaymentsOnEarlyTerminationOfLease" xlink:href="cpsi-20211231.xsd#cpsi_PaymentsOnEarlyTerminationOfLease"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_PaymentsOnEarlyTerminationOfLease" xlink:to="lab_cpsi_PaymentsOnEarlyTerminationOfLease" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_cf821068-7e11-4916-ae01-8fb74581e2d4_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain" xlink:to="lab_us-gaap_SubsequentEventTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_40a12da7-614f-4b84-bfee-c7ff4e8304c6_negatedLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred taxes, net</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_3dbbde56-695d-410f-a0db-bb7bb76970d5_verboseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of acquisition-related intangibles</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_43341967-2a81-43b6-adbe-47d8d0c8d49c_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of acquisition-related intangibles</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_11508079-f2fe-4f35-bd3b-ddb76910f767_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_d511b483-b400-48df-84cc-4942f808e2c2_terseLabel_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average remaining years of useful life</link:label>
    <link:label id="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_label_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_CPSI401kRetirementPlanMember_75126fb6-a8a0-46a6-9545-696af54610af_terseLabel_en-US" xlink:label="lab_cpsi_CPSI401kRetirementPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">CPSI 401(k) Retirement Plan</link:label>
    <link:label id="lab_cpsi_CPSI401kRetirementPlanMember_label_en-US" xlink:label="lab_cpsi_CPSI401kRetirementPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">CPSI 401(k) Retirement Plan [Member]</link:label>
    <link:label id="lab_cpsi_CPSI401kRetirementPlanMember_documentation_en-US" xlink:label="lab_cpsi_CPSI401kRetirementPlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">CPSI 401(k) Retirement Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_CPSI401kRetirementPlanMember" xlink:href="cpsi-20211231.xsd#cpsi_CPSI401kRetirementPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_CPSI401kRetirementPlanMember" xlink:to="lab_cpsi_CPSI401kRetirementPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_1db47f4c-6cc3-483e-a737-9ec2f215ce2e_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock repurchase program, remaining authorized repurchase amount</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Remaining Authorized Repurchase Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialAssetPastDueMember_66c18c5c-3f9a-411d-85f3-4da06b8a5cab_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialAssetPastDueMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Past Due</link:label>
    <link:label id="lab_us-gaap_FinancialAssetPastDueMember_label_en-US" xlink:label="lab_us-gaap_FinancialAssetPastDueMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, Past Due [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialAssetPastDueMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialAssetPastDueMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialAssetPastDueMember" xlink:to="lab_us-gaap_FinancialAssetPastDueMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_10ebba9c-4b84-4be5-8932-15924b6a078d_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average discount rate</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsAbstract" xlink:to="lab_us-gaap_SubsequentEventsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BuildingMember_df2c65a9-bb2a-4377-8562-016a121a1b22_terseLabel_en-US" xlink:label="lab_us-gaap_BuildingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Buildings</link:label>
    <link:label id="lab_us-gaap_BuildingMember_label_en-US" xlink:label="lab_us-gaap_BuildingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Building [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BuildingMember" xlink:to="lab_us-gaap_BuildingMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidTaxes_1d012bd6-a87e-498a-aa65-2daa3b4fd7b8_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid income taxes</link:label>
    <link:label id="lab_us-gaap_PrepaidTaxes_label_en-US" xlink:label="lab_us-gaap_PrepaidTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Taxes</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidTaxes" xlink:to="lab_us-gaap_PrepaidTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual_aff612fa-68f6-4d58-810a-49a07003451f_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pro forma information, pre-tax loss</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:to="lab_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProvisionForLoanLossesExpensed_c32a12cd-dbeb-4ee6-b1d0-4f754820a74a_terseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForLoanLossesExpensed" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision</link:label>
    <link:label id="lab_us-gaap_ProvisionForLoanLossesExpensed_label_en-US" xlink:label="lab_us-gaap_ProvisionForLoanLossesExpensed" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Credit Loss, Expense (Reversal)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForLoanLossesExpensed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForLoanLossesExpensed"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProvisionForLoanLossesExpensed" xlink:to="lab_us-gaap_ProvisionForLoanLossesExpensed" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNet_bb9189ce-7645-4265-9c39-f1509ac27d49_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNet_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNet" xlink:to="lab_us-gaap_DeferredTaxAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination and Asset Acquisition [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:to="lab_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_4798e814-b480-482a-af4a-3bba923ad8fd_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_e2790179-71cb-4305-8b37-541951a6f087_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAxis" xlink:to="lab_us-gaap_BusinessAcquisitionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_1117dcfd-4d43-46d2-9409-358fafa3f257_verboseLabel_en-US" xlink:label="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
    <link:label id="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_label_en-US" xlink:label="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityFairValueDisclosure_e11d877e-8e5d-4a3c-bc84-94f549c75b30_totalLabel_en-US" xlink:label="lab_us-gaap_EquityFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_EquityFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_EquityFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityFairValueDisclosure" xlink:to="lab_us-gaap_EquityFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_ChangeInCapitalizedContractCostRollForward_c6b13db7-cb8e-4929-a943-cfa9818d842e_terseLabel_en-US" xlink:label="lab_cpsi_ChangeInCapitalizedContractCostRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change In Capitalized Contract Cost [Heading Roll Forward]</link:label>
    <link:label id="lab_cpsi_ChangeInCapitalizedContractCostRollForward_label_en-US" xlink:label="lab_cpsi_ChangeInCapitalizedContractCostRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change In Capitalized Contract Cost [Roll Forward]</link:label>
    <link:label id="lab_cpsi_ChangeInCapitalizedContractCostRollForward_documentation_en-US" xlink:label="lab_cpsi_ChangeInCapitalizedContractCostRollForward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"></link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ChangeInCapitalizedContractCostRollForward" xlink:href="cpsi-20211231.xsd#cpsi_ChangeInCapitalizedContractCostRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_ChangeInCapitalizedContractCostRollForward" xlink:to="lab_cpsi_ChangeInCapitalizedContractCostRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_036750d8-2395-4a3c-bcf7-054c734734fc_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Award [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_d83e4042-7158-4e10-b302-9a09a073cfd7_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityDomain_5a8ceaad-28a6-4e8b-8862-e4f4396945c5_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityDomain_label_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_6c67ff9e-eb5c-411f-8b36-af05a494304e_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_eb605faf-d08d-4108-90cd-b10c935e038f_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_label_en-US" xlink:label="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Maturity, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:to="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_35500654-fbf2-4bd0-86b3-c418bb119c62_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:to="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LandMember_8502bf3a-152d-46e0-b44f-f2c0141ee600_terseLabel_en-US" xlink:label="lab_us-gaap_LandMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land</link:label>
    <link:label id="lab_us-gaap_LandMember_label_en-US" xlink:label="lab_us-gaap_LandMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LandMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LandMember" xlink:to="lab_us-gaap_LandMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_16962def-7b28-4d8d-a3b1-a625d7ecc312_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_c23d94aa-f844-4200-aadf-63300afb18e5_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets and Goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_0931c87e-1d69-426d-b6a6-a4526a39591d_terseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Financing Receivable [Domain]</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_label_en-US" xlink:label="lab_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Financing Receivable [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain" xlink:to="lab_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation_b9dce8fa-b305-4be4-b40f-2f209be3ec2e_terseLabel_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-deductible compensation - 162(m)</link:label>
    <link:label id="lab_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation_label_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Reconciliation, Nondeductible Expense, Section 162(m) Limitation</link:label>
    <link:label id="lab_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation_documentation_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Reconciliation, Nondeductible Expense, Section 162(m) Limitation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation" xlink:to="lab_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1_882885de-c3bd-4d99-9225-f39aaa388ad6_terseLabel_en-US" xlink:label="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets acquired</link:label>
    <link:label id="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1_label_en-US" xlink:label="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-lived Intangible Assets Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:to="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_5cde6970-4a9d-4e4d-9040-4f216d59de9b_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts_efa104b0-b37a-4e44-9b83-75d54df6cff8_terseLabel_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contingent consideration</link:label>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts_label_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Transaction Costs</link:label>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts_documentation_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Transaction Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts" xlink:to="lab_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_0b206877-70c9-41bb-ad7c-12cdf6eb06e0_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_14dbb8b2-dbd6-4570-87cc-51fb0c64138b_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TradeAccountsReceivableMember_29b81ad2-00c3-46c7-b9ec-31ead831d878_terseLabel_en-US" xlink:label="lab_us-gaap_TradeAccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_TradeAccountsReceivableMember_label_en-US" xlink:label="lab_us-gaap_TradeAccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade Accounts Receivable [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeAccountsReceivableMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TradeAccountsReceivableMember" xlink:to="lab_us-gaap_TradeAccountsReceivableMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AreaOfRealEstateProperty_371dfdc7-af30-4041-98f6-0988c7abb5ed_terseLabel_en-US" xlink:label="lab_us-gaap_AreaOfRealEstateProperty" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Area of real estate property</link:label>
    <link:label id="lab_us-gaap_AreaOfRealEstateProperty_label_en-US" xlink:label="lab_us-gaap_AreaOfRealEstateProperty" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Area of Real Estate Property</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AreaOfRealEstateProperty" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AreaOfRealEstateProperty"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AreaOfRealEstateProperty" xlink:to="lab_us-gaap_AreaOfRealEstateProperty" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivablesPeriodPastDueDomain_cedb8d39-9551-413a-a3c7-fe743fe6cf25_terseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivablesPeriodPastDueDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, Period Past Due [Domain]</link:label>
    <link:label id="lab_us-gaap_FinancingReceivablesPeriodPastDueDomain_label_en-US" xlink:label="lab_us-gaap_FinancingReceivablesPeriodPastDueDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, Aging [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain" xlink:to="lab_us-gaap_FinancingReceivablesPeriodPastDueDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_3d6b440c-0ce0-4ff1-8633-70060616a93a_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_1bbc6efa-1c71-45b5-a285-73fd51a01d40_terseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Past Due [Line Items]</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_label_en-US" xlink:label="lab_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Past Due [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems" xlink:to="lab_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_EarningsPerShareDilutedDenominatorAbstract_9d551831-724b-4132-8586-07dbd49d4d81_terseLabel_en-US" xlink:label="lab_cpsi_EarningsPerShareDilutedDenominatorAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Denominator</link:label>
    <link:label id="lab_cpsi_EarningsPerShareDilutedDenominatorAbstract_label_en-US" xlink:label="lab_cpsi_EarningsPerShareDilutedDenominatorAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted, Denominator [Abstract]</link:label>
    <link:label id="lab_cpsi_EarningsPerShareDilutedDenominatorAbstract_documentation_en-US" xlink:label="lab_cpsi_EarningsPerShareDilutedDenominatorAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted, Denominator [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EarningsPerShareDilutedDenominatorAbstract" xlink:href="cpsi-20211231.xsd#cpsi_EarningsPerShareDilutedDenominatorAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_EarningsPerShareDilutedDenominatorAbstract" xlink:to="lab_cpsi_EarningsPerShareDilutedDenominatorAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_BusinessManagementConsultingandManagedITServicesMember_f8b8abdd-d28a-40e7-bdda-0a4503c7bc6b_verboseLabel_en-US" xlink:label="lab_cpsi_BusinessManagementConsultingandManagedITServicesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">TruBridge</link:label>
    <link:label id="lab_cpsi_BusinessManagementConsultingandManagedITServicesMember_label_en-US" xlink:label="lab_cpsi_BusinessManagementConsultingandManagedITServicesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Management Consulting and Managed IT Services [Member]</link:label>
    <link:label id="lab_cpsi_BusinessManagementConsultingandManagedITServicesMember_documentation_en-US" xlink:label="lab_cpsi_BusinessManagementConsultingandManagedITServicesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Management Consulting and Managed IT Services [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_BusinessManagementConsultingandManagedITServicesMember" xlink:href="cpsi-20211231.xsd#cpsi_BusinessManagementConsultingandManagedITServicesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_BusinessManagementConsultingandManagedITServicesMember" xlink:to="lab_cpsi_BusinessManagementConsultingandManagedITServicesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess_20e44ca3-54aa-404d-a8bc-a9331d47284c_terseLabel_en-US" xlink:label="lab_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total financing receivables with contractual maturities of one year or less</link:label>
    <link:label id="lab_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess_label_en-US" xlink:label="lab_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable Credit Quality Loans With Contractual Maturities Of One Year Or Less</link:label>
    <link:label id="lab_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess_documentation_en-US" xlink:label="lab_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable Credit Quality Loans With Contractual Maturities Of One Year Or Less</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess" xlink:href="cpsi-20211231.xsd#cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess" xlink:to="lab_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_0620e2cb-890d-4f5d-a830-f8d7901106f8_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears_392361a7-2991-4bc4-91bb-2c69dcb811ca_terseLabel_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears_label_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears" xlink:to="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_7e38bdc7-7893-409a-93ad-5c8bf84cc1be_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pro Forma Results on Income</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Pro Forma Information [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="lab_us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_5a2398a0-b864-4f91-8d0e-56798505022d_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets and Liabilities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_2e8b2d0d-f140-48f8-ade5-4da103640e9d_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_0701f6e9-fe3c-475f-8f6c-1ade76fc02cd_terseLabel_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_label_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityWellKnownSeasonedIssuer" xlink:to="lab_dei_EntityWellKnownSeasonedIssuer" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember_a255246c-0d44-4364-a6b9-8814a6c6468a_terseLabel_en-US" xlink:label="lab_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Re-classifications</link:label>
    <link:label id="lab_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember_label_en-US" xlink:label="lab_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revision of Prior Period, Reclassification, Adjustment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember" xlink:to="lab_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_1bff2ea4-f994-48d6-9c64-4d7bb299fcb6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_8d7b8577-01fe-4003-95f0-880c3f1450ea_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software Development</link:label>
    <link:label id="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research, Development, and Computer Software Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:to="lab_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfOperatingSegments_d20f432a-8e76-4bcf-ba0d-3a63ef9bded1_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of operating segments</link:label>
    <link:label id="lab_us-gaap_NumberOfOperatingSegments_label_en-US" xlink:label="lab_us-gaap_NumberOfOperatingSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Operating Segments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfOperatingSegments" xlink:to="lab_us-gaap_NumberOfOperatingSegments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpenseMember_8dd703fa-2c1c-4993-b68f-e192f62bcbb0_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating expenses</link:label>
    <link:label id="lab_us-gaap_OperatingExpenseMember_label_en-US" xlink:label="lab_us-gaap_OperatingExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpenseMember" xlink:to="lab_us-gaap_OperatingExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CompensationRelatedCostsPolicyTextBlock_b18617f9-eb4e-4906-990d-d77503d77f74_terseLabel_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_CompensationRelatedCostsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation Related Costs, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:to="lab_us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_b5bb3efd-03ce-4a86-af8c-d6d641bdb9c2_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_5b6903ef-bb0c-4417-bdce-335c3d4e67f2_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contingent consideration</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Contingent Consideration, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_75fccb5e-7ed2-464b-86ed-bfd425de379c_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (loss) per share - basic (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_8d072ead-234f-4615-8e6b-d971368dbe9a_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (loss) per share - basic (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_2de282f3-f503-40a5-9dc9-a851482af49a_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic EPS (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivablesTextBlock_f7ce8173-d4c9-467c-9b45-0cb45acc60f6_terseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivablesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivables</link:label>
    <link:label id="lab_us-gaap_FinancingReceivablesTextBlock_label_en-US" xlink:label="lab_us-gaap_FinancingReceivablesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivables [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivablesTextBlock" xlink:to="lab_us-gaap_FinancingReceivablesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_1320b065-c00a-436b-b925-cb3a03725d56_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_a05490bf-52cb-4774-8439-7f684ac061bf_terseLabel_en-US" xlink:label="lab_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable and Allowance for Credit Losses</link:label>
    <link:label id="lab_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Loss, Financial Instrument [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:to="lab_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_184c59ac-9597-4f34-8079-65924e82a06a_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Due thereafter</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_3021c6b4-d025-47ab-a87b-26db829ddfc4_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at beginning of period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_1301b091-5988-4ae2-b4b7-3d62284dc736_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at end of period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForCreditLossMember_3e1bf32a-2f65-4c7f-b711-7f06c0188f06_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForCreditLossMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for credit losses deducted from accounts receivable in the balance sheet</link:label>
    <link:label id="lab_us-gaap_AllowanceForCreditLossMember_label_en-US" xlink:label="lab_us-gaap_AllowanceForCreditLossMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Allowance, Credit Loss [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForCreditLossMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForCreditLossMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForCreditLossMember" xlink:to="lab_us-gaap_AllowanceForCreditLossMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_52851123-8174-43d0-9bdd-c36f779f65e6_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_07315691-4830-4609-a0ad-274f912484f8_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Maturity, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainLossOnTerminationOfLease_e05f07dc-f8d9-40a0-ac6f-0d3a5ff49178_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnTerminationOfLease" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss on termination of lease</link:label>
    <link:label id="lab_us-gaap_GainLossOnTerminationOfLease_label_en-US" xlink:label="lab_us-gaap_GainLossOnTerminationOfLease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Termination of Lease</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnTerminationOfLease" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnTerminationOfLease"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnTerminationOfLease" xlink:to="lab_us-gaap_GainLossOnTerminationOfLease" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts_9d658988-94cb-46df-bbe2-a0846fafcf87_terseLabel_en-US" xlink:label="lab_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase in capitalized software development costs</link:label>
    <link:label id="lab_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts_label_en-US" xlink:label="lab_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Capitalized Software Costs</link:label>
    <link:label id="lab_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts_documentation_en-US" xlink:label="lab_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Capitalized Software Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts" xlink:href="cpsi-20211231.xsd#cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts" xlink:to="lab_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_43776510-76f5-43f8-9fae-c5a81be857e8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosureItemAmountsDomain_caabe4c8-cec2-4476-a2d9-7f14456d5028_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosureItemAmountsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Disclosure Item Amounts [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosureItemAmountsDomain_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosureItemAmountsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureItemAmountsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosureItemAmountsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosureItemAmountsDomain" xlink:to="lab_us-gaap_FairValueDisclosureItemAmountsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDilutedAbstract_40462ed0-6d13-4a85-809b-822b66a0f8c2_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted EPS</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDilutedAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDilutedAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract" xlink:to="lab_us-gaap_EarningsPerShareDilutedAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_0fc50b65-0710-4633-b351-14fc6f22ae1b_terseLabel_en-US" xlink:label="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule II - Valuation and Qualifying Accounts</link:label>
    <link:label id="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_label_en-US" xlink:label="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:to="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_92f60391-ec1d-4f19-ae60-0c4285335e34_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credits</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Credit Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostNet_d73ab4ca-3489-4825-8ba5-b800f6171f40_periodStartLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNet" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostNet_d893810d-7ef5-4741-9244-9e7280f2b5b8_periodEndLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNet" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostNet_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedContractCostNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostNet" xlink:to="lab_us-gaap_CapitalizedContractCostNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeasePayments_d9be2eeb-e08d-4039-8491-2ae760c0047e_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease payments</link:label>
    <link:label id="lab_us-gaap_OperatingLeasePayments_label_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeasePayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilities_bb8c07ce-39a9-4c49-92b6-85e38b2ac22b_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total net deferred tax liability</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilities" xlink:to="lab_us-gaap_DeferredTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_1ea3d271-9c52-47ce-9c94-b6b9cadf4764_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities and other</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_e91bd2ef-009a-4243-b17e-ccca53e4cde3_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business combination, consideration transferred</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_a8b40fbb-9687-45be-905d-dd6d405e8fa0_terseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for bad debt</link:label>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_label_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:to="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate_4d77a5af-566c-4a20-aa9d-7ba334a0cdd6_negatedTerseLabel_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Decrease in effective tax rate because of the provision to return adjustments</link:label>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate_label_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Provision To Return Adjustments, Increase (Decrease) in Effective Tax Rate</link:label>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate_documentation_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Provision To Return Adjustments, Increase (Decrease) in Effective Tax Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate" xlink:to="lab_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_077d0973-1edf-48f8-a3b7-71d92a599952_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt obligations</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:to="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillRollForward_99f66150-8c37-4ec5-b3bb-be4f74cd4264_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_GoodwillRollForward_label_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillRollForward" xlink:to="lab_us-gaap_GoodwillRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityVoluntaryFilers_ec16f448-dfac-42bf-b4a7-51c4ef5556e4_terseLabel_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:label id="lab_dei_EntityVoluntaryFilers_label_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityVoluntaryFilers"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityVoluntaryFilers" xlink:to="lab_dei_EntityVoluntaryFilers" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebt_92fe4517-eae2-43fe-b3f5-be979dbf0ecf_totalLabel_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt obligation, net</link:label>
    <link:label id="lab_us-gaap_LongTermDebt_label_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebt" xlink:to="lab_us-gaap_LongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivableDeferredIncome_d47c4c38-7143-424b-9ad2-de66cb1173ed_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableDeferredIncome" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: unearned income</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableDeferredIncome_label_en-US" xlink:label="lab_us-gaap_FinancingReceivableDeferredIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Deferred Commitment Fee</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableDeferredIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableDeferredIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivableDeferredIncome" xlink:to="lab_us-gaap_FinancingReceivableDeferredIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedInsuranceCurrent_ffba6d80-b9c5-4e72-bc8d-df1d0614340e_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedInsuranceCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Self-insurance reserves</link:label>
    <link:label id="lab_us-gaap_AccruedInsuranceCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedInsuranceCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Insurance, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedInsuranceCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedInsuranceCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedInsuranceCurrent" xlink:to="lab_us-gaap_AccruedInsuranceCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_729f7adb-5cac-4861-b820-f566e91e389c_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quoted Price in Active Markets for Identical Assets (Level 1)</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member" xlink:to="lab_us-gaap_FairValueInputsLevel1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_750fbd7f-8411-4908-8fba-174dfab37187_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investing Activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillImpairmentLoss_f95bca93-0662-4fef-b603-8c914f225653_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill impairment</link:label>
    <link:label id="lab_us-gaap_GoodwillImpairmentLoss_label_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Impairment Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillImpairmentLoss" xlink:to="lab_us-gaap_GoodwillImpairmentLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PastDueFinancingReceivablesTableTextBlock_493f3bea-160c-440d-a4d1-de3da8429e8e_terseLabel_en-US" xlink:label="lab_us-gaap_PastDueFinancingReceivablesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Analysis of Age of Financing Receivables Amounts</link:label>
    <link:label id="lab_us-gaap_PastDueFinancingReceivablesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_PastDueFinancingReceivablesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Past Due [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PastDueFinancingReceivablesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PastDueFinancingReceivablesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PastDueFinancingReceivablesTableTextBlock" xlink:to="lab_us-gaap_PastDueFinancingReceivablesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate_a16629d7-7b06-40a7-b010-90d18600a921_terseLabel_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impact to effective rate</link:label>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate_label_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Measurement Period Adjustment, Increase (Decrease) in Effective Tax Rate</link:label>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate_documentation_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Measurement Period Adjustment, Increase (Decrease) in Effective Tax Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate" xlink:to="lab_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_af5d0a47-19aa-4e02-a1eb-cef470b44c9e_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State income tax, net of federal tax effect</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:to="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SoftwareDevelopmentMember_edbb43cc-7ab7-4b28-94cf-ca5c8de4ba26_terseLabel_en-US" xlink:label="lab_us-gaap_SoftwareDevelopmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software Development</link:label>
    <link:label id="lab_us-gaap_SoftwareDevelopmentMember_label_en-US" xlink:label="lab_us-gaap_SoftwareDevelopmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software Development [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SoftwareDevelopmentMember" xlink:to="lab_us-gaap_SoftwareDevelopmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_09d31902-b7a9-4e2b-b750-ad06ad93fdba_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_FinancingReceivableTerm_39b86106-cdc1-4f68-a855-cfad90e51ad5_terseLabel_en-US" xlink:label="lab_cpsi_FinancingReceivableTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable term</link:label>
    <link:label id="lab_cpsi_FinancingReceivableTerm_label_en-US" xlink:label="lab_cpsi_FinancingReceivableTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Term</link:label>
    <link:label id="lab_cpsi_FinancingReceivableTerm_documentation_en-US" xlink:label="lab_cpsi_FinancingReceivableTerm" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancingReceivableTerm" xlink:href="cpsi-20211231.xsd#cpsi_FinancingReceivableTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_FinancingReceivableTerm" xlink:to="lab_cpsi_FinancingReceivableTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BaseRateMember_e2371d22-3138-497d-b84d-a3d8916bdccd_terseLabel_en-US" xlink:label="lab_us-gaap_BaseRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Base rate</link:label>
    <link:label id="lab_us-gaap_BaseRateMember_label_en-US" xlink:label="lab_us-gaap_BaseRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Base Rate [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BaseRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BaseRateMember" xlink:to="lab_us-gaap_BaseRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_ffb9ab4f-cc49-41ca-aa59-22c124b5c85e_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Roll-Forward of Allowance for Financing Credit Losses</link:label>
    <link:label id="lab_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:to="lab_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_d706a706-585c-4923-b6c9-ffe22bdbb290_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_491e1b24-b2b0-41d2-936f-1eb17065cb67_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities and stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_502dccc8-29c2-461f-b40b-61751e4ab564_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other accrued liabilities</link:label>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_cfd8e001-7a8c-4fa3-a19d-f687352fd9ac_totalLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other accrued liabilities</link:label>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_9df84f81-8cef-4093-92a4-a84c8a7830d8_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_69cecadd-e6d1-4006-83a5-6fcc61f4ba22_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_StatementScenarioAxis_b4978ebf-367d-4680-ac70-769f5106f422_terseLabel_en-US" xlink:label="lab_srt_StatementScenarioAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:label id="lab_srt_StatementScenarioAxis_label_en-US" xlink:label="lab_srt_StatementScenarioAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementScenarioAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementScenarioAxis" xlink:to="lab_srt_StatementScenarioAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ServiceMember_9fb0a4f4-d4cd-4788-a555-37bf0a29eb36_terseLabel_en-US" xlink:label="lab_us-gaap_ServiceMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">TruBridge</link:label>
    <link:label id="lab_us-gaap_ServiceMember_label_en-US" xlink:label="lab_us-gaap_ServiceMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Service [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ServiceMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ServiceMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ServiceMember" xlink:to="lab_us-gaap_ServiceMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_43b2d56a-1777-4318-9d3b-95bd92feb01e_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment to purchased intangible assets</link:label>
    <link:label id="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment of Intangible Assets, Indefinite-lived (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:to="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_88ce0b80-3bed-4704-8d6b-380c870d407c_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Stockholders&#8217; Equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears_514120e2-f3db-440a-8115-5a3d182ca6e9_terseLabel_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears_label_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears" xlink:to="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_0fe3e92d-325d-4e92-b01a-1d1ba980792d_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureTable_6b0ec532-b595-4c4a-8b1a-e16c0a180a0c_terseLabel_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]</link:label>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureTable_label_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_c8747087-e414-440d-9e08-8e04985f0d47_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income Per Share</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock" xlink:to="lab_us-gaap_EarningsPerShareTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockValueAcquiredCostMethod_6b66d5f5-1135-4626-8603-35a6c4cb887c_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock purchases</link:label>
    <link:label id="lab_us-gaap_TreasuryStockValueAcquiredCostMethod_label_en-US" xlink:label="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Value, Acquired, Cost Method</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_1d7b4ab1-b366-4eb8-85a6-1a855b138a18_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating expenses:</link:label>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpensesAbstract" xlink:to="lab_us-gaap_OperatingExpensesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_9d12a1d5-33a3-460c-98be-a3f00e999731_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_718b06ef-bd9f-4968-a9e7-e578feeea3a9_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_bf97a4e4-d811-491c-b2dd-f1915d6be312_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock issued upon exercise of stock options</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MinimumMember_4954baa4-dfde-4a2a-b072-adab53cd8b1b_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanNameAxis_e59f04d0-14b9-46c8-844d-b1dcfe9e9f38_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanNameAxis_label_en-US" xlink:label="lab_us-gaap_RetirementPlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetirementPlanNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanNameAxis" xlink:to="lab_us-gaap_RetirementPlanNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_FinancingReceivablesPolicyPolicyTextBlock_8afe9338-13d1-4fd7-bcfa-f0ce42b405d6_terseLabel_en-US" xlink:label="lab_cpsi_FinancingReceivablesPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivables</link:label>
    <link:label id="lab_cpsi_FinancingReceivablesPolicyPolicyTextBlock_label_en-US" xlink:label="lab_cpsi_FinancingReceivablesPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivables Policy [Policy Text Block]</link:label>
    <link:label id="lab_cpsi_FinancingReceivablesPolicyPolicyTextBlock_documentation_en-US" xlink:label="lab_cpsi_FinancingReceivablesPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivables Policy [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancingReceivablesPolicyPolicyTextBlock" xlink:href="cpsi-20211231.xsd#cpsi_FinancingReceivablesPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_FinancingReceivablesPolicyPolicyTextBlock" xlink:to="lab_cpsi_FinancingReceivablesPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_f4b36364-13ec-42a8-9a6f-6a6b434e8998_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit</link:label>
    <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_d401c2b0-fb4c-4eb7-91d4-a8af9170c373_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFinanceCostsNet_28e0ff53-7c8b-4d3f-af22-003ef8df7c59_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsNet" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: debt issuance costs</link:label>
    <link:label id="lab_us-gaap_DeferredFinanceCostsNet_label_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Issuance Costs, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFinanceCostsNet" xlink:to="lab_us-gaap_DeferredFinanceCostsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription_985b1959-791c-483b-a25e-215389540a75_terseLabel_en-US" xlink:label="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Presentation</link:label>
    <link:label id="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription_label_en-US" xlink:label="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification, Comparability Adjustment [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:to="lab_us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_EarningsPerShareBasicNumeratorAbstract_f1909332-bf19-4ecd-972e-e26d4812dab4_terseLabel_en-US" xlink:label="lab_cpsi_EarningsPerShareBasicNumeratorAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Numerator</link:label>
    <link:label id="lab_cpsi_EarningsPerShareBasicNumeratorAbstract_label_en-US" xlink:label="lab_cpsi_EarningsPerShareBasicNumeratorAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic, Numerator [Abstract]</link:label>
    <link:label id="lab_cpsi_EarningsPerShareBasicNumeratorAbstract_documentation_en-US" xlink:label="lab_cpsi_EarningsPerShareBasicNumeratorAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic, Numerator [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EarningsPerShareBasicNumeratorAbstract" xlink:href="cpsi-20211231.xsd#cpsi_EarningsPerShareBasicNumeratorAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_EarningsPerShareBasicNumeratorAbstract" xlink:to="lab_cpsi_EarningsPerShareBasicNumeratorAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGross_2e6fbed5-e3ef-404d-a17f-4863a733047f_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGross_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsGross" xlink:to="lab_us-gaap_DeferredTaxAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_1860b844-eb6b-49ec-96f9-3b19c7166775_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter_bc615b01-96de-4bc3-8051-5b99ea3330d2_terseLabel_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter_label_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter" xlink:to="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_71b0cc74-3ccd-4bda-87d6-c1bce0a7c20d_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_1ef3f929-a163-4baa-a035-b7e173ac8b14_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract_0bce5766-985f-4fad-914b-59758ace2e73_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average effect of dilutive securities:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted, Other Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract" xlink:to="lab_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_e488f7c3-b768-4f0e-a04b-2a99179cb6a1_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToDevelopSoftware_eda2652d-bd82-440e-a8d7-6d65bf59d287_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToDevelopSoftware" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment in software development</link:label>
    <link:label id="lab_us-gaap_PaymentsToDevelopSoftware_label_en-US" xlink:label="lab_us-gaap_PaymentsToDevelopSoftware" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Develop Software</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToDevelopSoftware"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToDevelopSoftware" xlink:to="lab_us-gaap_PaymentsToDevelopSoftware" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_e6ca8308-899d-4f24-9ebb-3d8c6dd8da62_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_label_en-US" xlink:label="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Maturity, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:to="lab_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReceivableTypeDomain_334243e8-b2e4-4675-942d-027d71c1a932_terseLabel_en-US" xlink:label="lab_us-gaap_ReceivableTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable [Domain]</link:label>
    <link:label id="lab_us-gaap_ReceivableTypeDomain_label_en-US" xlink:label="lab_us-gaap_ReceivableTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivableTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivableTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReceivableTypeDomain" xlink:to="lab_us-gaap_ReceivableTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_ea5ced6f-4622-4a61-a33f-40f6cf66b384_terseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and administrative</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RestatementAxis_454f667b-fa99-4424-bc9e-1a1e3657a53a_terseLabel_en-US" xlink:label="lab_srt_RestatementAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement [Axis]</link:label>
    <link:label id="lab_srt_RestatementAxis_label_en-US" xlink:label="lab_srt_RestatementAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revision of Prior Period [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RestatementAxis" xlink:to="lab_srt_RestatementAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_4bb5075d-0d62-422f-b7d6-15d16b2a4205_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of business, net of cash received</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_e95bcfbc-9a16-4a58-b92a-f013db8b474b_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureTextBlock" xlink:to="lab_us-gaap_DebtDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_23381b50-c201-4e00-8e72-2941b01a2629_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of Income Tax Provision</link:label>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_1fc640f1-528d-42e8-97bc-a6335ff416a9_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of restricted stock</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditMember_c6a38650-8475-4008-a7c1-e408e32b3fad_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit</link:label>
    <link:label id="lab_us-gaap_LineOfCreditMember_label_en-US" xlink:label="lab_us-gaap_LineOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditMember" xlink:to="lab_us-gaap_LineOfCreditMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_b4c846e5-92d2-48b4-8a01-1ed8a821a361_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-Based Compensation and Equity</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_FinancialAsset181OrMoreDaysPastDueMember_f3e62f06-7902-4ae9-b976-f2e6a7537403_terseLabel_en-US" xlink:label="lab_cpsi_FinancialAsset181OrMoreDaysPastDueMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">181 + Days Past Due</link:label>
    <link:label id="lab_cpsi_FinancialAsset181OrMoreDaysPastDueMember_label_en-US" xlink:label="lab_cpsi_FinancialAsset181OrMoreDaysPastDueMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, 181 Or More Days Past Due [Member]</link:label>
    <link:label id="lab_cpsi_FinancialAsset181OrMoreDaysPastDueMember_documentation_en-US" xlink:label="lab_cpsi_FinancialAsset181OrMoreDaysPastDueMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, 181 Or More Days Past Due</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset181OrMoreDaysPastDueMember" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset181OrMoreDaysPastDueMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_FinancialAsset181OrMoreDaysPastDueMember" xlink:to="lab_cpsi_FinancialAsset181OrMoreDaysPastDueMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_06d7d3c9-cf51-4131-9b5e-ae5f796d21db_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Significant Unobservable Inputs (Level 3)</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member" xlink:to="lab_us-gaap_FairValueInputsLevel3Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_0890c417-59da-4da5-a89f-0511d0901f17_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments_cf4accb5-b4bc-4151-804f-b289c49d4b8e_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued severance</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Severance Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum_81ebf959-db74-487b-9caf-8af3615fbfa4_terseLabel_en-US" xlink:label="lab_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee contribution (up to)</link:label>
    <link:label id="lab_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum_label_en-US" xlink:label="lab_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Compensation Arrangement With Individual Employee Contribution Percentage Maximum</link:label>
    <link:label id="lab_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum_documentation_en-US" xlink:label="lab_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Compensation Arrangement With Individual Employee Contribution Percentage Maximum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum" xlink:href="cpsi-20211231.xsd#cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum" xlink:to="lab_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_116b39e1-6d03-467d-bfd4-753a97db0679_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_293909b8-2f71-4c05-b2bf-186768595ef6_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_34b0fcab-1f26-45d8-a89e-ef578fdecae5_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Federal Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted_5c2b5801-bcd9-48d8-a4e3-3c2a6a015a02_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pro forma diluted earnings per share (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Pro Forma Income (Loss) from Continuing Operations, Net of Tax, Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted" xlink:to="lab_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_9cb57eca-9816-4a6e-981c-1035d6bdca44_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_6ebe4d4f-5368-4e7a-9388-94ca7f7c1daf_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, $0.001 par value per share; 30,000 shares authorized; 14,734 shares issued at December 31, 2021 and 14,511 shares issued at December 31, 2020</link:label>
    <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_651bd5bd-ecad-4ac3-9cf0-9a8fa6da38d1_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized compensation cost related to non-vested share-based compensation period of recognition</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_47e64287-8dfb-4b9e-b491-ac3b736a211d_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at beginning of the period (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_27caff4e-5513-49c0-8342-ffb9714dd19d_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at end of the period in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_0d85bb95-72ef-49f0-ae86-9b420d05cae4_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill acquired</link:label>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_label_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Acquired During Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancialAssetNotPastDueMember_2d0902c5-6b4c-467e-ae86-cec38e587c6b_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialAssetNotPastDueMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, Not Past Due</link:label>
    <link:label id="lab_us-gaap_FinancialAssetNotPastDueMember_label_en-US" xlink:label="lab_us-gaap_FinancialAssetNotPastDueMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, Not Past Due [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialAssetNotPastDueMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialAssetNotPastDueMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialAssetNotPastDueMember" xlink:to="lab_us-gaap_FinancialAssetNotPastDueMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PerformanceSharesMember_2cb3c2ea-af1b-49b8-8cc0-c19d93054e67_terseLabel_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance shares</link:label>
    <link:label id="lab_us-gaap_PerformanceSharesMember_label_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Shares [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PerformanceSharesMember" xlink:to="lab_us-gaap_PerformanceSharesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTable_f69f6141-24f3-4a9f-9f3e-92440fd5e7f9_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTable_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTable" xlink:to="lab_us-gaap_SubsequentEventTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_76f3aded-6c64-4da0-892e-5f4ff6d1a34d_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_bbbca360-3056-410f-a666-af6dea3cddcc_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_de33adae-f5d1-4d5a-8af1-922a27fcaf1c_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, allowance for doubtful accounts</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_566ce39d-86e8-4449-b325-51bb1de26949_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockMember_226a0859-7d65-4f62-8ab3-ed5ed140d95c_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted stock</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember" xlink:to="lab_us-gaap_RestrictedStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_034c61c0-c76b-44be-ada5-c20b6754a779_terseLabel_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_label_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_IcfrAuditorAttestationFlag" xlink:to="lab_dei_IcfrAuditorAttestationFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReceivablesAbstract_label_en-US" xlink:label="lab_us-gaap_ReceivablesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReceivablesAbstract" xlink:to="lab_us-gaap_ReceivablesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorName_68c1de68-55e5-481b-82f2-a1da6c3d1763_terseLabel_en-US" xlink:label="lab_dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Name</link:label>
    <link:label id="lab_dei_AuditorName_label_en-US" xlink:label="lab_dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorName" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorName" xlink:to="lab_dei_AuditorName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentPeriodicPaymentPrincipal_ead96a23-0c80-4fd5-a998-a0b4baf78100_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentPeriodicPaymentPrincipal" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quarterly principal payments</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentPeriodicPaymentPrincipal_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentPeriodicPaymentPrincipal" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Periodic Payment, Principal</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentPeriodicPaymentPrincipal" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentPeriodicPaymentPrincipal"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentPeriodicPaymentPrincipal" xlink:to="lab_us-gaap_DebtInstrumentPeriodicPaymentPrincipal" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_5eb275d6-3047-4f28-af10-bb9d722259ff_terseLabel_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance share awards (in shares)</link:label>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_label_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillLineItems_983336af-da0f-4a29-9bf8-27d9ed3e2818_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:label id="lab_us-gaap_GoodwillLineItems_label_en-US" xlink:label="lab_us-gaap_GoodwillLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillLineItems" xlink:to="lab_us-gaap_GoodwillLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_f035b3c9-ac65-4bfa-bc6a-b896a9769873_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_7e9bedb5-dc67-4282-9dd8-3c7f5d24bfba_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pro forma net income</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Pro Forma Net Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="lab_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_7db503d9-029e-4edb-9007-5cfbb1bb2a74_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockShares_663986a7-a697-420a-b7ff-b07eb35e84dd_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock, shares (in shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockShares_label_en-US" xlink:label="lab_us-gaap_TreasuryStockShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockShares" xlink:to="lab_us-gaap_TreasuryStockShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward_03f8a2b0-01e3-4a6d-8e5a-e885d5165068_terseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for Doubtful Accounts Receivable [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward_label_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward" xlink:to="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2cab3661-edea-4f77-970a-4efa36bd3c77_negatedLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less imputed interest</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue_d8e01781-cf10-4ec6-af6b-0cb35f5a563c_terseLabel_en-US" xlink:label="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance share awards converted to restricted stock (in dollars per share)</link:label>
    <link:label id="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Conversions in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue_documentation_en-US" xlink:label="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Conversions in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" xlink:href="cpsi-20211231.xsd#cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_5138b082-7d3d-4b6f-bb74-3a6570071249_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_9e179e6c-914a-4e47-9c7e-bfca9363fea2_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_70017bf7-6775-40b3-a2ed-0819c31abd29_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales revenues:</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_7a21798a-79d1-4e09-bd43-76f9a599b85c_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfDividends_25934520-0d80-49d5-b987-013f5def907e_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDividends" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividends paid</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDividends_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDividends" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of Dividends</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDividends" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDividends"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDividends" xlink:to="lab_us-gaap_PaymentsOfDividends" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedVacationCurrent_e9f235dd-897d-4187-8322-7f3fe89911ef_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedVacationCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued vacation</link:label>
    <link:label id="lab_us-gaap_AccruedVacationCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedVacationCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Vacation, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedVacationCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedVacationCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedVacationCurrent" xlink:to="lab_us-gaap_AccruedVacationCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAdditions_8ff77fd4-f429-461a-a308-a42ef9db5e10_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized software development costs</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAdditions_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Additions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAdditions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareAdditions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_56e14cb3-707b-4194-a38b-d16c2d6813d0_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current provision:</link:label>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_2e480485-fd33-490a-b352-e12dbaf310e9_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CarryingReportedAmountFairValueDisclosureMember_77604a79-5a9e-4d39-82c8-58700802fe8c_terseLabel_en-US" xlink:label="lab_us-gaap_CarryingReportedAmountFairValueDisclosureMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Carrying Amount</link:label>
    <link:label id="lab_us-gaap_CarryingReportedAmountFairValueDisclosureMember_label_en-US" xlink:label="lab_us-gaap_CarryingReportedAmountFairValueDisclosureMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reported Value Measurement [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CarryingReportedAmountFairValueDisclosureMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CarryingReportedAmountFairValueDisclosureMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CarryingReportedAmountFairValueDisclosureMember" xlink:to="lab_us-gaap_CarryingReportedAmountFairValueDisclosureMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ConsolidationItemsDomain_b1e11017-2dee-4176-87e4-bf10353cdd78_terseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:label id="lab_srt_ConsolidationItemsDomain_label_en-US" xlink:label="lab_srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ConsolidationItemsDomain" xlink:to="lab_srt_ConsolidationItemsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_2a7a50eb-d65b-4b1b-b5f1-7cc9afc9772f_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:to="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_101a30a7-52e4-46f7-b8c5-0bf7dfbc8ae7_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateAxis_76580af9-a3a4-4eae-96c7-354db9b45ea3_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:label id="lab_us-gaap_VariableRateAxis_label_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateAxis" xlink:to="lab_us-gaap_VariableRateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_b00063a2-4acd-41ea-8d1a-3301dd65ff20_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting</link:label>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_01e0c270-ea3e-4a97-853a-e7e9ca030672_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating income</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_f4705a78-892e-4f66-a6dd-d43fbc394d40_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employer contribution</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan, Employer Discretionary Contribution Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:to="lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_b9309c0e-3d9b-4f63-8142-cd54ba94fb1c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivablesPeriodPastDueAxis_98225a3e-8549-4041-a74f-cb6f9bb20ac8_terseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivablesPeriodPastDueAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, Period Past Due [Axis]</link:label>
    <link:label id="lab_us-gaap_FinancingReceivablesPeriodPastDueAxis_label_en-US" xlink:label="lab_us-gaap_FinancingReceivablesPeriodPastDueAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, Aging [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis" xlink:to="lab_us-gaap_FinancingReceivablesPeriodPastDueAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_c17bf6cb-d6e8-4e58-ae6f-addfcbc1eb19_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities, current portion</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_f0968128-cc20-42ac-89f6-08d21d1ff731_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other accrued liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_e021440a-e732-4e28-a771-cdff0443ee8f_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_FinancialAsset91To180DaysPastDueMember_32d75a23-64e4-443f-bd55-524f37549a72_terseLabel_en-US" xlink:label="lab_cpsi_FinancialAsset91To180DaysPastDueMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">91&#160;to&#160;180&#160;Days Past Due</link:label>
    <link:label id="lab_cpsi_FinancialAsset91To180DaysPastDueMember_label_en-US" xlink:label="lab_cpsi_FinancialAsset91To180DaysPastDueMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, 91 To 180 Days Past Due [Member]</link:label>
    <link:label id="lab_cpsi_FinancialAsset91To180DaysPastDueMember_documentation_en-US" xlink:label="lab_cpsi_FinancialAsset91To180DaysPastDueMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, 91 To 180 Days Past Due</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset91To180DaysPastDueMember" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset91To180DaysPastDueMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_FinancialAsset91To180DaysPastDueMember" xlink:to="lab_cpsi_FinancialAsset91To180DaysPastDueMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember_b83cdd31-b7cd-44e8-b20a-6f3d67892955_terseLabel_en-US" xlink:label="lab_srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revision of Prior Period, Change in Accounting Principle, Adjustment</link:label>
    <link:label id="lab_srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember_label_en-US" xlink:label="lab_srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revision of Prior Period, Change in Accounting Principle, Adjustment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember" xlink:to="lab_srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_a74375a0-ce0e-4719-81f5-50a92b4fdeee_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_21bdae72-f1dc-46cc-9f8d-3da1113c5307_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ChangeInAccountingEstimateTypeDomain_c76d6272-1969-4b4b-ae48-2b63af801118_terseLabel_en-US" xlink:label="lab_us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in Accounting Estimate, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ChangeInAccountingEstimateTypeDomain_label_en-US" xlink:label="lab_us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in Accounting Estimate, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:to="lab_us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited_58f1346d-a309-428a-bd0e-5bf90577d593_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeiture of common stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares Issued, Shares, Share-based Payment Arrangement, Forfeited</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_852469a2-a352-4ad9-b08a-4e4df71488cf_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock based compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock_b8ce4ac7-ee21-49bb-8d87-b849f356b69e_terseLabel_en-US" xlink:label="lab_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Balance Sheet Information</link:label>
    <link:label id="lab_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock_label_en-US" xlink:label="lab_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Supplemental Balance Sheet Information [Table Text Block]</link:label>
    <link:label id="lab_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock_documentation_en-US" xlink:label="lab_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Supplemental Balance Sheet Information</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:href="cpsi-20211231.xsd#cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:to="lab_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateDomain_c1d0deb0-2d7f-4a5e-8f9f-9c2e76b75e7b_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:label id="lab_us-gaap_VariableRateDomain_label_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateDomain" xlink:to="lab_us-gaap_VariableRateDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_TermLoanFacilityMember_7b574224-b9d3-4be2-a4fb-66670e978110_terseLabel_en-US" xlink:label="lab_cpsi_TermLoanFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term loan facility</link:label>
    <link:label id="lab_cpsi_TermLoanFacilityMember_label_en-US" xlink:label="lab_cpsi_TermLoanFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term Loan Facility [Member]</link:label>
    <link:label id="lab_cpsi_TermLoanFacilityMember_documentation_en-US" xlink:label="lab_cpsi_TermLoanFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term Loan Facility [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TermLoanFacilityMember" xlink:href="cpsi-20211231.xsd#cpsi_TermLoanFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_TermLoanFacilityMember" xlink:to="lab_cpsi_TermLoanFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_eb8612ac-b5de-4e48-a302-7795099f3c2a_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_62c6e2d6-46d5-46f3-85a1-1d03ceaaf24f_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Depreciation_eafbac19-e557-43f1-a288-84899f7a3724_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:label id="lab_us-gaap_Depreciation_label_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation" xlink:to="lab_us-gaap_Depreciation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_ae78ab63-3fbb-4cc4-8969-46b4b1eb92f3_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeDomain" xlink:to="lab_us-gaap_LongtermDebtTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_CARESActTextBlock_f59aef4c-a5b9-40ff-a987-6bdd95ed1bd8_terseLabel_en-US" xlink:label="lab_cpsi_CARESActTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">COVID-19 Pandemic</link:label>
    <link:label id="lab_cpsi_CARESActTextBlock_label_en-US" xlink:label="lab_cpsi_CARESActTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">CARES Act [Text Block]</link:label>
    <link:label id="lab_cpsi_CARESActTextBlock_documentation_en-US" xlink:label="lab_cpsi_CARESActTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">CARES Act</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_CARESActTextBlock" xlink:href="cpsi-20211231.xsd#cpsi_CARESActTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_CARESActTextBlock" xlink:to="lab_cpsi_CARESActTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_c2b44f5e-057f-48dc-938a-10c52b7089d8_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pro forma information, revenue</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:to="lab_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ScenarioPreviouslyReportedMember_802fe5f8-8442-4469-96be-edbc75cf721c_terseLabel_en-US" xlink:label="lab_srt_ScenarioPreviouslyReportedMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">As previously reported</link:label>
    <link:label id="lab_srt_ScenarioPreviouslyReportedMember_label_en-US" xlink:label="lab_srt_ScenarioPreviouslyReportedMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Previously Reported [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioPreviouslyReportedMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioPreviouslyReportedMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScenarioPreviouslyReportedMember" xlink:to="lab_srt_ScenarioPreviouslyReportedMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockMember_9916a222-e4c1-4fab-ab9c-d63014c55063_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock</link:label>
    <link:label id="lab_us-gaap_TreasuryStockMember_label_en-US" xlink:label="lab_us-gaap_TreasuryStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockMember" xlink:to="lab_us-gaap_TreasuryStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_52665020-76f9-43f2-a00c-546a320bd768_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of New Accounting Pronouncements and Changes in Accounting Principle</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update and Change in Accounting Principle [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:to="lab_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromLinesOfCredit_d607ecbe-bce8-4f15-af03-f5cd98696a31_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from revolving line of credit</link:label>
    <link:label id="lab_us-gaap_ProceedsFromLinesOfCredit_label_en-US" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Lines of Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromLinesOfCredit" xlink:to="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_679e994d-fc12-4d23-ac4b-f4a748a2d49d_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, liability, current, statement of financial position [Extensible List]</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NotesReceivableNet_f0bc1b4e-8295-4360-9899-de0fc1121e91_totalLabel_en-US" xlink:label="lab_us-gaap_NotesReceivableNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term financing arrangements, net</link:label>
    <link:label id="lab_us-gaap_NotesReceivableNet_label_en-US" xlink:label="lab_us-gaap_NotesReceivableNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, after Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NotesReceivableNet" xlink:to="lab_us-gaap_NotesReceivableNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_e6a0b48e-6d32-41fe-a68e-b23014b43a72_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Payment Arrangement, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="lab_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_28cdd8f0-e887-4960-85e5-c75a6c8b96ee_totalLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total other income (expense)</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_47f74b4a-f59e-464f-8df2-710fa62a72f6_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Operating Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInFinanceReceivables_6cc5498b-1e9b-44a1-b422-fe24e30106d6_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInFinanceReceivables" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing receivables</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInFinanceReceivables_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInFinanceReceivables" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Finance Receivables</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInFinanceReceivables" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInFinanceReceivables"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInFinanceReceivables" xlink:to="lab_us-gaap_IncreaseDecreaseInFinanceReceivables" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_d5b12ab1-28ab-4d83-8335-039956223065_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of property and equipment</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilitiesCurrent_2980dfda-2a4a-47b7-abc1-8c57d79b5676_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsDeferredIncome_e85a748f-bd36-4b89-8751-9f9357bc4ee8_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsDeferredIncome_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Deferred Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsDeferredIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:to="lab_us-gaap_DeferredTaxAssetsDeferredIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_8139dedf-12fa-43de-9a8a-c57be5e233e1_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Liabilities_87d0f87d-d88b-4236-b14f-cf4dad6bb0d8_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_label_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsAmortizationPeriodMember_45d4cf8a-2d74-47d7-b704-9e4b0adc6a17_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsAmortizationPeriodMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Useful lives of intangible assets</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsAmortizationPeriodMember_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsAmortizationPeriodMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, Amortization Period [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsAmortizationPeriodMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsAmortizationPeriodMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsAmortizationPeriodMember" xlink:to="lab_us-gaap_IntangibleAssetsAmortizationPeriodMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_475da03b-01d2-4a9d-a06e-a0f18bb0cc50_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Other Accrued Liabilities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability_376b374c-da23-4cbb-b5fa-e2b8a2189cbe_negatedTerseLabel_en-US" xlink:label="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability_label_en-US" xlink:label="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed, Contract With Customer, Liability</link:label>
    <link:label id="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability_documentation_en-US" xlink:label="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed, Contract With Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability" xlink:href="cpsi-20211231.xsd#cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability" xlink:to="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_8f5ad8bd-b4e6-415f-aa1b-adab0a8d3961_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_f61f2d87-b3ce-4f84-a3e9-ee8beebebb9e_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_b438fb5e-24b2-44c9-a3e3-ca535bb9738f_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_bae39665-3128-48a1-8690-77a9daed8133_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Future Minimum Lease Payments Payable Under Operating Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ConsolidationItemsAxis_319b2cbc-5b87-4eac-a2ce-a92321b29feb_terseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:label id="lab_srt_ConsolidationItemsAxis_label_en-US" xlink:label="lab_srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ConsolidationItemsAxis" xlink:to="lab_srt_ConsolidationItemsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_85bd6890-53b3-4765-87c2-af22eac1d8e7_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_1ed73f9e-8919-4b89-96b9-86b82b9d3736_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_5cffd700-dc6e-4b5f-b528-0ff6756509dd_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_ShortTermPaymentPlansMember_0d580ad2-ab7d-484c-a3d2-f65a58c78af4_terseLabel_en-US" xlink:label="lab_cpsi_ShortTermPaymentPlansMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term payment plans, gross</link:label>
    <link:label id="lab_cpsi_ShortTermPaymentPlansMember_label_en-US" xlink:label="lab_cpsi_ShortTermPaymentPlansMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Payment Plans [Member]</link:label>
    <link:label id="lab_cpsi_ShortTermPaymentPlansMember_documentation_en-US" xlink:label="lab_cpsi_ShortTermPaymentPlansMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Payment Plans [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ShortTermPaymentPlansMember" xlink:href="cpsi-20211231.xsd#cpsi_ShortTermPaymentPlansMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_ShortTermPaymentPlansMember" xlink:to="lab_cpsi_ShortTermPaymentPlansMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_58328fcd-36b0-4e51-9e41-709c1aab9fb7_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal net operating loss carryforward</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwards" xlink:to="lab_us-gaap_OperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_1588bbaa-4ffd-4e42-912c-b90e86c3b157_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_07fc95a4-393d-445e-95d8-760970fea70c_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_IncreaseDecreaseToProductDevelopmentCosts_51aa494b-ea09-4bab-8070-2b46331b57d3_negatedTerseLabel_en-US" xlink:label="lab_cpsi_IncreaseDecreaseToProductDevelopmentCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Decrease in product development costs</link:label>
    <link:label id="lab_cpsi_IncreaseDecreaseToProductDevelopmentCosts_label_en-US" xlink:label="lab_cpsi_IncreaseDecreaseToProductDevelopmentCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) To Product Development Costs</link:label>
    <link:label id="lab_cpsi_IncreaseDecreaseToProductDevelopmentCosts_documentation_en-US" xlink:label="lab_cpsi_IncreaseDecreaseToProductDevelopmentCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) To Product Development Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_IncreaseDecreaseToProductDevelopmentCosts" xlink:href="cpsi-20211231.xsd#cpsi_IncreaseDecreaseToProductDevelopmentCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_IncreaseDecreaseToProductDevelopmentCosts" xlink:to="lab_cpsi_IncreaseDecreaseToProductDevelopmentCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_aa025ac4-df3d-483b-89fc-d33b00e78f5a_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_bcdb7705-617f-4f5b-a2f9-38c6092b90d3_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfOtherDebt_edaed3d8-c366-486c-a386-60819fc7a8f9_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfOtherDebt" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments on capital lease</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfOtherDebt_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfOtherDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Other Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfOtherDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfOtherDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfOtherDebt" xlink:to="lab_us-gaap_RepaymentsOfOtherDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt_f3a7c451-8292-4fb6-ad68-7a7f4ae306dd_terseLabel_en-US" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss on extinguishment of debt</link:label>
    <link:label id="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt_e959ef24-209c-41a0-9a32-990ce087cf97_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss on extinguishment of debt</link:label>
    <link:label id="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt_label_en-US" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Extinguishment of Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:to="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_153301a6-8a11-40a6-a7cf-4e91a4c83a20_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock purchases</link:label>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_f6d77180-e961-46e8-8072-974bf63f2b6c_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Useful life</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_8b4aaa9c-3684-4d52-9b5e-d3fbe841331a_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_32cd1966-26da-4f53-ae6e-59cbd01e8b02_terseLabel_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental disclosure of non-cash flow information:</link:label>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_label_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash Investing and Financing Items [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_f920a7c0-c010-4436-979e-9490c1f93b3d_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities, net of current portion</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths_5dc435cb-46ce-45fb-b059-f9791c5ff78f_terseLabel_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths" xlink:to="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestExpense_60ce126b-45d8-4061-b98e-7c4f94b54f08_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest expense</link:label>
    <link:label id="lab_us-gaap_InterestExpense_label_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestExpense" xlink:to="lab_us-gaap_InterestExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_9906355a-e44c-4067-bebd-97675f9194e5_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred provision:</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio_495bbca3-99b5-4234-8877-97b6c11a0431_terseLabel_en-US" xlink:label="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidated leverage ratio</link:label>
    <link:label id="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio_label_en-US" xlink:label="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long Term Debt Covenant Consolidated Leverage Ratio</link:label>
    <link:label id="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio_documentation_en-US" xlink:label="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long Term Debt Covenant Consolidated Leverage Ratio</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtCovenantConsolidatedLeverageRatio"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio" xlink:to="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_PostAcuteCareMember_940db22d-e402-4a07-90b4-cfe81d065118_terseLabel_en-US" xlink:label="lab_cpsi_PostAcuteCareMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Post-acute Care EHR</link:label>
    <link:label id="lab_cpsi_PostAcuteCareMember_709d7c89-3438-4922-9805-c99b7b0e573d_verboseLabel_en-US" xlink:label="lab_cpsi_PostAcuteCareMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Post-acute Care EHR</link:label>
    <link:label id="lab_cpsi_PostAcuteCareMember_label_en-US" xlink:label="lab_cpsi_PostAcuteCareMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Post-Acute Care [Member]</link:label>
    <link:label id="lab_cpsi_PostAcuteCareMember_documentation_en-US" xlink:label="lab_cpsi_PostAcuteCareMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Post-Acute Care [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PostAcuteCareMember" xlink:href="cpsi-20211231.xsd#cpsi_PostAcuteCareMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_PostAcuteCareMember" xlink:to="lab_cpsi_PostAcuteCareMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_04e211c6-5d07-4c2f-9753-738fa139924b_totalLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net assets acquired</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_26a27587-3f94-40ad-a2cb-219f012c65ec_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: income tax effect</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expense, Tax Benefit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_0da0c011-a9cc-441c-8319-4f4f996bb662_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less costs to obtain and fulfill contracts recognized as expense</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostAmortization" xlink:to="lab_us-gaap_CapitalizedContractCostAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_245baf6f-c6d9-4525-a2c6-b0e34f576a74_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingSegmentsMember_e839ab7f-319c-4219-b758-dd1196526fb2_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingSegmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating segments</link:label>
    <link:label id="lab_us-gaap_OperatingSegmentsMember_label_en-US" xlink:label="lab_us-gaap_OperatingSegmentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Segments [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingSegmentsMember" xlink:to="lab_us-gaap_OperatingSegmentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock_446c8e46-e087-42bf-a16c-e84f5e4c8008_terseLabel_en-US" xlink:label="lab_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software Development Costs</link:label>
    <link:label id="lab_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock_label_en-US" xlink:label="lab_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Internal Use Software, Policy And Software to be Sold, Leased, or Otherwise Marketed, Policy [Policy Text Block]</link:label>
    <link:label id="lab_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock_documentation_en-US" xlink:label="lab_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Internal Use Software, Policy And Software to be Sold, Leased, or Otherwise Marketed, Policy</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock" xlink:href="cpsi-20211231.xsd#cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock" xlink:to="lab_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery_e6b37a83-e085-401b-93c7-e93553163f05_terseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recoveries</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery_label_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss, Recovery</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery" xlink:to="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_22159aef-5365-4ddf-b2d7-099484ba43ef_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RestatementDomain_a15d4d32-dd15-4160-851a-06f88d2db7d8_terseLabel_en-US" xlink:label="lab_srt_RestatementDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restatement [Domain]</link:label>
    <link:label id="lab_srt_RestatementDomain_label_en-US" xlink:label="lab_srt_RestatementDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revision of Prior Period [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RestatementDomain" xlink:to="lab_srt_RestatementDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_c343ca6e-59ed-4e50-9348-a7a5e478253a_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilities_4f370787-453b-46b6-85b2-ffe4165aec88_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_cabd762c-29bc-4962-827a-baef2d0424df_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems" xlink:to="lab_us-gaap_BusinessAcquisitionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_AccruedSeveranceCurrent_06400b41-cd8d-4940-be9c-76940e6ca568_terseLabel_en-US" xlink:label="lab_cpsi_AccruedSeveranceCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Severance</link:label>
    <link:label id="lab_cpsi_AccruedSeveranceCurrent_label_en-US" xlink:label="lab_cpsi_AccruedSeveranceCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Severance, Current</link:label>
    <link:label id="lab_cpsi_AccruedSeveranceCurrent_documentation_en-US" xlink:label="lab_cpsi_AccruedSeveranceCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Severance, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AccruedSeveranceCurrent" xlink:href="cpsi-20211231.xsd#cpsi_AccruedSeveranceCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_AccruedSeveranceCurrent" xlink:to="lab_cpsi_AccruedSeveranceCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_f1230f26-bd26-45f9-9cc3-679e1125bd4f_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EstimateOfFairValueFairValueDisclosureMember_04ca9b32-7898-462e-8569-24feb6605d0a_terseLabel_en-US" xlink:label="lab_us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value</link:label>
    <link:label id="lab_us-gaap_EstimateOfFairValueFairValueDisclosureMember_label_en-US" xlink:label="lab_us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimate of Fair Value Measurement [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EstimateOfFairValueFairValueDisclosureMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:to="lab_us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_306eaaea-4961-4fd8-8da1-6db87fa9b219_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_a46ff77f-a98b-4314-8e27-b717b2b121e6_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfLinesOfCredit_eed5047e-1c80-43c7-b627-4c2956018624_negatedLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfLinesOfCredit" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of revolving line of credit</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfLinesOfCredit_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Lines of Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLinesOfCredit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfLinesOfCredit" xlink:to="lab_us-gaap_RepaymentsOfLinesOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReclassificationTable_509895a8-0b38-4e72-b9e6-818e68921b10_terseLabel_en-US" xlink:label="lab_us-gaap_ReclassificationTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification [Table]</link:label>
    <link:label id="lab_us-gaap_ReclassificationTable_label_en-US" xlink:label="lab_us-gaap_ReclassificationTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReclassificationTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReclassificationTable" xlink:to="lab_us-gaap_ReclassificationTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDeductions_9cd61808-f665-4b02-b13a-52f579c6ac77_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deductions</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDeductions_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_2fdc0f8f-50f9-4e3b-a076-9413301fc737_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from exercise of stock options</link:label>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:to="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareNet_f6854034-ee8e-445b-86d1-f1a84dceaecd_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software development costs, net</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareNet_61b1868e-83f5-47ef-bb11-9bcb50ac4c33_totalLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software development costs, net</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareNet_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareNet" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_f3896998-7edd-47a4-bd86-0e32b7b08b04_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of restricted stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_e781c783-afde-47e5-b55c-24bc39a1ae29_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_1c40e98a-f37b-4aac-b91c-46f76d2f103e_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_b3839a1d-1b31-4a24-89e4-ca7d84948484_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total income tax provision</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_032256b1-2c26-4449-9afd-a700721cc5db_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, net of allowance for credit losses of $1,826 and $1,701, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_1786c7ba-65ff-43fb-b61c-c41aeefe69d3_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_LongTermFinancingArrangementMember_6a906797-3241-497b-923e-a472867970d5_terseLabel_en-US" xlink:label="lab_cpsi_LongTermFinancingArrangementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Financing Arrangement</link:label>
    <link:label id="lab_cpsi_LongTermFinancingArrangementMember_label_en-US" xlink:label="lab_cpsi_LongTermFinancingArrangementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Financing Arrangement [Member]</link:label>
    <link:label id="lab_cpsi_LongTermFinancingArrangementMember_documentation_en-US" xlink:label="lab_cpsi_LongTermFinancingArrangementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Financing Arrangement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermFinancingArrangementMember" xlink:href="cpsi-20211231.xsd#cpsi_LongTermFinancingArrangementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_LongTermFinancingArrangementMember" xlink:to="lab_cpsi_LongTermFinancingArrangementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt_8556612a-a1cf-4472-bce9-68e5ba969472_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from long-term debt</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Long-term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_b7975552-d641-4330-84f3-f95ad359c221_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_93ca6ee2-f1ee-425b-888b-d74872f225fb_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_507e5829-fca2-4597-9074-7277d4abf55c_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_53dd90b4-614c-45fb-a0f5-0b8a40d81234_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_b5f5a2b9-6aed-40e5-abc4-5770eba3e646_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2c55f2f4-0651-4cc1-af25-79e108cedc54_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_528d7e8d-f9a5-4e44-919b-dedc57007788_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryNet_7666d917-edc9-4a31-b9f3-67f5edd432fc_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryNet_label_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet" xlink:to="lab_us-gaap_InventoryNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_027fe748-d5fb-4253-8737-6496cca1caed_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_4e120cc8-8ac3-430e-add0-71f6ab422633_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in valuation allowance</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_af765908-61b9-4a54-bebd-0f7980eb820e_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_c453c4d9-92fd-43ac-a4ae-0771a05448b0_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncome_df6673b4-5ef3-4e20-ad5e-170b88a733f5_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncome" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncome_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncome" xlink:to="lab_us-gaap_OtherNonoperatingIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_0edd33a9-649e-4662-9eb2-98518626fe85_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_21040af3-5d8d-40ad-9b76-6ad835bd6bd8_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsAbstract_label_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsAbstract" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ValuationAndQualifyingAccountsAbstract" xlink:to="lab_srt_ValuationAndQualifyingAccountsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock_82b46a5f-8080-480f-aea0-8045eb043410_terseLabel_en-US" xlink:label="lab_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of software development, net</link:label>
    <link:label id="lab_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock_label_en-US" xlink:label="lab_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Software Development, Net [Table Text Block]</link:label>
    <link:label id="lab_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock_documentation_en-US" xlink:label="lab_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Software Development, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock" xlink:href="cpsi-20211231.xsd#cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock" xlink:to="lab_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_c091cc71-55ed-4363-9b7d-97baeef8fdac_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurement, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_8b3a0189-2fe5-452e-ac0f-ff4f067ce227_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current portion of long-term debt</link:label>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_3eea6112-e3c4-4bda-a924-756e1a34310f_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: current portion</link:label>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_label_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Current Maturities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtCurrent" xlink:to="lab_us-gaap_LongTermDebtCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductOrServiceAxis_ee038fbb-d55d-4d20-b2d8-9a4aa490f952_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_DeferredTaxAssetsAccruedVacation_6137a0a0-31fa-4587-9802-45019300e360_terseLabel_en-US" xlink:label="lab_cpsi_DeferredTaxAssetsAccruedVacation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued vacation</link:label>
    <link:label id="lab_cpsi_DeferredTaxAssetsAccruedVacation_label_en-US" xlink:label="lab_cpsi_DeferredTaxAssetsAccruedVacation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets Accrued Vacation</link:label>
    <link:label id="lab_cpsi_DeferredTaxAssetsAccruedVacation_documentation_en-US" xlink:label="lab_cpsi_DeferredTaxAssetsAccruedVacation" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets accrued vacation.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DeferredTaxAssetsAccruedVacation" xlink:href="cpsi-20211231.xsd#cpsi_DeferredTaxAssetsAccruedVacation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_DeferredTaxAssetsAccruedVacation" xlink:to="lab_cpsi_DeferredTaxAssetsAccruedVacation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_61bf0b8b-8392-45e8-bfa1-be11bf681f56_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityPublicFloat_91380bae-090f-43aa-8bf4-bdd3f33d5aea_terseLabel_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:label id="lab_dei_EntityPublicFloat_label_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityPublicFloat"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityPublicFloat" xlink:to="lab_dei_EntityPublicFloat" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset_cbefc107-8a94-48c5-a069-6d2eabfe251b_terseLabel_en-US" xlink:label="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease asset</link:label>
    <link:label id="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset_label_en-US" xlink:label="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Asset Acquired and Liability Assumed, Operating Lease, Asset</link:label>
    <link:label id="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset_documentation_en-US" xlink:label="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Asset Acquired and Liability Assumed, Operating Lease, Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset" xlink:href="cpsi-20211231.xsd#cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset" xlink:to="lab_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_a5c4d6dd-422e-4601-bb08-eb224196a8bb_terseLabel_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference</link:label>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_label_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_a24ddb15-ffe5-4c45-ac22-630794090ecc_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized compensation cost related to non-vested share-based compensation</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_548d4715-bf66-42f5-a905-88b9ee06a87d_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_dca79a0b-677b-4adb-9a23-0796d60c338d_terseLabel_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales and marketing</link:label>
    <link:label id="lab_us-gaap_SellingAndMarketingExpense_label_en-US" xlink:label="lab_us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling and Marketing Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingAndMarketingExpense" xlink:to="lab_us-gaap_SellingAndMarketingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_0018c1e7-e1cc-4fa5-b675-04bfe80536ee_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_cf7da089-f929-4db2-a590-31e7be0d7a0c_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock repurchased during period (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_603defc6-ff8d-4140-9ab9-65f8d69f0c4a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_EarningsPerShareBasicDenominatorAbstract_ebb6aa72-2140-4493-8c76-268908244a21_terseLabel_en-US" xlink:label="lab_cpsi_EarningsPerShareBasicDenominatorAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Denominator</link:label>
    <link:label id="lab_cpsi_EarningsPerShareBasicDenominatorAbstract_label_en-US" xlink:label="lab_cpsi_EarningsPerShareBasicDenominatorAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic, Denominator [Abstract]</link:label>
    <link:label id="lab_cpsi_EarningsPerShareBasicDenominatorAbstract_documentation_en-US" xlink:label="lab_cpsi_EarningsPerShareBasicDenominatorAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic, Denominator [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EarningsPerShareBasicDenominatorAbstract" xlink:href="cpsi-20211231.xsd#cpsi_EarningsPerShareBasicDenominatorAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_EarningsPerShareBasicDenominatorAbstract" xlink:to="lab_cpsi_EarningsPerShareBasicDenominatorAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_0b318790-181a-410b-a30c-f38fb92b9c07_terseLabel_en-US" xlink:label="lab_us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets:</link:label>
    <link:label id="lab_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_label_en-US" xlink:label="lab_us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of Deferred Tax Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:to="lab_us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_bcd724b3-8a87-4d24-892e-478b6a3abe56_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDomain_93814b0a-84ca-45ca-a5bb-a03acf0718f3_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDomain_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_9ac0380a-f876-49fb-8be7-5ae8565721e8_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock_0e0b06c6-d826-42ae-9512-d9d6bafaa0ba_terseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Categories of Customer Financing Receivables</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable Credit Quality Indicators [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock" xlink:to="lab_us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears_5b9bf8c2-a7c1-4a5b-aee9-ee3866517397_terseLabel_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears_label_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears" xlink:to="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DomesticCountryMember_13209305-307c-462d-9a8d-6c85c19a720c_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic tax authority</link:label>
    <link:label id="lab_us-gaap_DomesticCountryMember_label_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DomesticCountryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticCountryMember" xlink:to="lab_us-gaap_DomesticCountryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh_f29791ea-1ced-44ae-9d14-877bd507d38e_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contingent consideration earnout payment</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Contingent Consideration Arrangements, Change in Range of Outcomes, Contingent Consideration, Liability, Value, High</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_5099b301-0f2d-45b5-bc32-32521ef052bf_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5609406f-1011-4be8-a88b-ad7141aecd24_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income before taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_7941f6b6-5df5-4c28-ae4c-792979f71c23_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Significant Other Observable Inputs (Level 2)</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member" xlink:to="lab_us-gaap_FairValueInputsLevel2Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_acaf406e-397a-4c2d-93e9-4f68d558b1cc_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_76991fd2-1df1-4ce8-be18-08514b47ac72_verboseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_e4ff08ba-3218-405f-b9db-134c8f7d6134_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: Valuation allowance</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorLocation_7f177372-0190-4426-b633-091cd1454a91_terseLabel_en-US" xlink:label="lab_dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Location</link:label>
    <link:label id="lab_dei_AuditorLocation_label_en-US" xlink:label="lab_dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Location</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorLocation" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorLocation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorLocation" xlink:to="lab_dei_AuditorLocation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic_d46062cd-78d9-4608-883c-ee77eae9603e_negatedLabel_en-US" xlink:label="lab_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: Net income attributable to participating securities</link:label>
    <link:label id="lab_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic_label_en-US" xlink:label="lab_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Participating Securities, Distributed and Undistributed Earnings (Loss), Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic" xlink:to="lab_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CorporateNonSegmentMember_fefbc65a-0509-40b4-9016-d8bd2c24e44e_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate</link:label>
    <link:label id="lab_us-gaap_CorporateNonSegmentMember_label_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate, Non-Segment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateNonSegmentMember" xlink:to="lab_us-gaap_CorporateNonSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit_a8c974d1-2411-4b09-9db0-c2a9457479ce_terseLabel_en-US" xlink:label="lab_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit facility, incremental facility capacity</link:label>
    <link:label id="lab_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit_label_en-US" xlink:label="lab_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Accordion Feature, Increase Limit</link:label>
    <link:label id="lab_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit_documentation_en-US" xlink:label="lab_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Accordion Feature, Increase Limit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit" xlink:href="cpsi-20211231.xsd#cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit" xlink:to="lab_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_388a7227-7fab-4174-8720-80a8d65242c7_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-lived intangible asset, useful life</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_0e92754b-24aa-4d84-a521-5850ab53ebcb_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_aff2c412-de6a-4d5c-a660-d76fc15940a3_totalLabel_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total minimum payments to be received</link:label>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_label_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales-type and Direct Financing Leases, Lease Receivable, Payments to be Received</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived" xlink:to="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_da48a5e9-6e0c-4598-902d-e4b560c00754_terseLabel_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Benefit Plans</link:label>
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Benefits [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UseOfEstimates_2d0cbd4d-55f4-41ab-ad6a-8f2395c73562_terseLabel_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates</link:label>
    <link:label id="lab_us-gaap_UseOfEstimates_label_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UseOfEstimates"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates" xlink:to="lab_us-gaap_UseOfEstimates" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_82e9648c-e229-48e8-93bf-e0156f859cc3_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_379b724b-144a-475a-a410-645143ed8b42_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentAnnualReport_258106fe-0d03-4698-8dff-992d02d93c4e_terseLabel_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:label id="lab_dei_DocumentAnnualReport_label_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentAnnualReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentAnnualReport" xlink:to="lab_dei_DocumentAnnualReport" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ScenarioForecastMember_698d6a9d-3aec-4b00-96d1-1b41f9b51101_terseLabel_en-US" xlink:label="lab_srt_ScenarioForecastMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forecast</link:label>
    <link:label id="lab_srt_ScenarioForecastMember_label_en-US" xlink:label="lab_srt_ScenarioForecastMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forecast [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioForecastMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScenarioForecastMember" xlink:to="lab_srt_ScenarioForecastMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_3b86c551-92fc-45ed-b6ce-0b28a426e55d_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Stock-Based Compensation Expense</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_af99e576-10e5-4f90-929f-14e6c967a313_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_c8770d34-59b7-45dc-a55b-8771af8a26cc_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_da78882c-1b74-4752-9db8-5427fc553405_terseLabel_en-US" xlink:label="lab_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax liabilities:</link:label>
    <link:label id="lab_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_label_en-US" xlink:label="lab_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of Deferred Tax Liabilities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:to="lab_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_24acc610-58d4-4e83-aa15-3bf1f5cc21e5_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestPaidNet_56a5bcb4-3b08-4bd2-b3a7-5b220a2916f1_terseLabel_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for interest</link:label>
    <link:label id="lab_us-gaap_InterestPaidNet_label_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_309846f7-d976-41c1-85ad-fe0b1672eadd_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income attributable to common stockholders for diluted EPS</link:label>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_label_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Available to Common Stockholders, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:to="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_fe3d2fea-a092-4d8b-8274-7f8f7a706445_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income attributable to common stockholders</link:label>
    <link:label id="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_label_en-US" xlink:label="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Available to Common Stockholders, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="lab_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_1fb3386b-c8e1-4585-b2a4-20df70c49043_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_3cc33b59-bbc1-48ff-99fc-792f28305993_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductsAndServicesDomain_a1005172-dcf1-44e7-ab29-8957e3b3ba37_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_e602e509-8e66-42fc-b818-8a146b26f390_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of Short-Term Payment Plans</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_WriteOffOfFullyDepreciatedAssets_58fc9cc1-f90f-47c6-ac31-3af77e317e49_terseLabel_en-US" xlink:label="lab_cpsi_WriteOffOfFullyDepreciatedAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Write-off of fully depreciated assets</link:label>
    <link:label id="lab_cpsi_WriteOffOfFullyDepreciatedAssets_label_en-US" xlink:label="lab_cpsi_WriteOffOfFullyDepreciatedAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Write Off Of Fully Depreciated Assets</link:label>
    <link:label id="lab_cpsi_WriteOffOfFullyDepreciatedAssets_documentation_en-US" xlink:label="lab_cpsi_WriteOffOfFullyDepreciatedAssets" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Write-off of fully depreciated assets.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_WriteOffOfFullyDepreciatedAssets" xlink:href="cpsi-20211231.xsd#cpsi_WriteOffOfFullyDepreciatedAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_WriteOffOfFullyDepreciatedAssets" xlink:to="lab_cpsi_WriteOffOfFullyDepreciatedAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_SystemSalesAndSupportRevenueRecurringMember_0d1561d4-2199-4283-b281-0d1c7a77c63b_terseLabel_en-US" xlink:label="lab_cpsi_SystemSalesAndSupportRevenueRecurringMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recurring revenue</link:label>
    <link:label id="lab_cpsi_SystemSalesAndSupportRevenueRecurringMember_label_en-US" xlink:label="lab_cpsi_SystemSalesAndSupportRevenueRecurringMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">System Sales And Support Revenue Recurring [Member]</link:label>
    <link:label id="lab_cpsi_SystemSalesAndSupportRevenueRecurringMember_documentation_en-US" xlink:label="lab_cpsi_SystemSalesAndSupportRevenueRecurringMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">System Sales And Support Revenue Recurring</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SystemSalesAndSupportRevenueRecurringMember" xlink:href="cpsi-20211231.xsd#cpsi_SystemSalesAndSupportRevenueRecurringMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_SystemSalesAndSupportRevenueRecurringMember" xlink:to="lab_cpsi_SystemSalesAndSupportRevenueRecurringMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs_9aa01b46-64d8-4794-9812-6f28b33940f1_negatedLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Charge-offs</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs_label_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss, Writeoff</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs" xlink:to="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_77bba066-54a9-4092-a127-1d717e9efea6_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_d4f69270-2bc6-4c37-b629-e0b29fe13d90_terseLabel_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving credit facility</link:label>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_label_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember" xlink:to="lab_us-gaap_RevolvingCreditFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_ef2c0f4c-ec81-40e6-ab75-7625cc2d96f4_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables_9bb481c2-1ea1-4519-a226-130cf5dd1e44_terseLabel_en-US" xlink:label="lab_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable and financing receivables</link:label>
    <link:label id="lab_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables_label_en-US" xlink:label="lab_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets Accounts Receivable and Financing Receivables</link:label>
    <link:label id="lab_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables_documentation_en-US" xlink:label="lab_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets Accounts Receivable and Financing Receivables</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables" xlink:href="cpsi-20211231.xsd#cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables" xlink:to="lab_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_1f3facec-f03d-4457-8e07-4863ef3350bf_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsNotesAndLoansReceivableLineItems_d2ffe16c-83ef-491d-ad7d-bf96c6712da1_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts, Notes, Loans and Financing Receivable [Line Items]</link:label>
    <link:label id="lab_us-gaap_AccountsNotesAndLoansReceivableLineItems_label_en-US" xlink:label="lab_us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts, Notes, Loans and Financing Receivable [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="lab_us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3fede9cc-8644-4bba-bcce-160886329b75_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurements, Recurring and Nonrecurring [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_3f844798-ffff-41ae-9fe8-2d432019f29b_terseLabel_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Office furniture and fixtures</link:label>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_label_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FurnitureAndFixturesMember" xlink:to="lab_us-gaap_FurnitureAndFixturesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTable_4160719c-11b7-4fd6-8673-794e76a1d390_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentTable_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTable" xlink:to="lab_us-gaap_DebtInstrumentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventLineItems_f6eaf15f-385c-4c57-8ed1-299592193854_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventLineItems_label_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventLineItems" xlink:to="lab_us-gaap_SubsequentEventLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAbstract_c6dbde34-1d3b-4c69-a9e3-4633abe9f78f_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic EPS</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasicAbstract" xlink:to="lab_us-gaap_EarningsPerShareBasicAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ChangeInAccountingEstimateByTypeAxis_76d2b6d2-2f39-4333-91b6-30d33a10e28c_terseLabel_en-US" xlink:label="lab_us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in Accounting Estimate by Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ChangeInAccountingEstimateByTypeAxis_label_en-US" xlink:label="lab_us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in Accounting Estimate by Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:to="lab_us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_HealthcareResourceGroupIncMember_c56acf3f-3a46-4e53-9ab6-0d0b6d703f99_terseLabel_en-US" xlink:label="lab_cpsi_HealthcareResourceGroupIncMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Healthcare Resource Group, Inc.</link:label>
    <link:label id="lab_cpsi_HealthcareResourceGroupIncMember_label_en-US" xlink:label="lab_cpsi_HealthcareResourceGroupIncMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Healthcare Resource Group, Inc. [Member]</link:label>
    <link:label id="lab_cpsi_HealthcareResourceGroupIncMember_documentation_en-US" xlink:label="lab_cpsi_HealthcareResourceGroupIncMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Healthcare Resource Group, Inc.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_HealthcareResourceGroupIncMember" xlink:href="cpsi-20211231.xsd#cpsi_HealthcareResourceGroupIncMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_HealthcareResourceGroupIncMember" xlink:to="lab_cpsi_HealthcareResourceGroupIncMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_0be7df84-1fe6-4f72-9e6d-0bbc2a330d6d_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_61368dd3-dc3a-441a-9b2e-24b1f8d75cc0_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares outstanding used in basic per common share computations (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_c645d12c-5d74-42c4-8478-24f12dd6293b_netLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares outstanding used in basic per common share computations (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_b511f60c-ca20-4d91-846e-d7a5f804db67_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (loss) per share - diluted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_f3d1eda6-4ff8-44a0-97d6-f51f4746493a_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (loss) per share - diluted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_73c162dd-7347-467a-9460-18c7c7c55424_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted EPS (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_31f4e25c-98a7-4064-8a0f-67e9d1172880_terseLabel_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State jurisdiction</link:label>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_label_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State and Local Jurisdiction [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:to="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentDomain_37c5957d-b0e2-4a36-ac54-42f762f67856_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Domain]</link:label>
    <link:label id="lab_us-gaap_SegmentDomain_label_en-US" xlink:label="lab_us-gaap_SegmentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentDomain" xlink:to="lab_us-gaap_SegmentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductMember_9e695290-f899-4838-bcd6-20d94972de8a_terseLabel_en-US" xlink:label="lab_us-gaap_ProductMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">System sales and support</link:label>
    <link:label id="lab_us-gaap_ProductMember_label_en-US" xlink:label="lab_us-gaap_ProductMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductMember" xlink:to="lab_us-gaap_ProductMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_iNetXpertsCorpMember_9c887c45-5c34-479e-8415-440c747b4058_terseLabel_en-US" xlink:label="lab_cpsi_iNetXpertsCorpMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">iNetXperts, Corp.</link:label>
    <link:label id="lab_cpsi_iNetXpertsCorpMember_label_en-US" xlink:label="lab_cpsi_iNetXpertsCorpMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">iNetXperts, Corp. [Member]</link:label>
    <link:label id="lab_cpsi_iNetXpertsCorpMember_documentation_en-US" xlink:label="lab_cpsi_iNetXpertsCorpMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">iNetXperts, Corp.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_iNetXpertsCorpMember" xlink:href="cpsi-20211231.xsd#cpsi_iNetXpertsCorpMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_iNetXpertsCorpMember" xlink:to="lab_cpsi_iNetXpertsCorpMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_66526892-db34-4013-90a4-18b6090827cc_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for income taxes, net of refund</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaidNet" xlink:to="lab_us-gaap_IncomeTaxesPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsFiniteLivedPolicy_d428bf1e-68fc-4378-abb1-183f25dfc6d8_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in Useful Lives of Intangible Assets</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsFiniteLivedPolicy_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, Finite-Lived, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:to="lab_us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_5077853a-bdff-4de9-81b6-948239481a1c_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsTextBlock" xlink:to="lab_us-gaap_SubsequentEventsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_FinancialAsset1To90DaysPastDueMember_2f47c9ef-93c1-4318-bf8b-8298cd085a39_terseLabel_en-US" xlink:label="lab_cpsi_FinancialAsset1To90DaysPastDueMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">1 to 90 Days Past Due</link:label>
    <link:label id="lab_cpsi_FinancialAsset1To90DaysPastDueMember_label_en-US" xlink:label="lab_cpsi_FinancialAsset1To90DaysPastDueMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Asset, 1 To 90 Days Past Due [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset1To90DaysPastDueMember" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset1To90DaysPastDueMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_FinancialAsset1To90DaysPastDueMember" xlink:to="lab_cpsi_FinancialAsset1To90DaysPastDueMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_AcuteCareMember_198315e4-32f6-4406-8407-c03e0bfa3e92_verboseLabel_en-US" xlink:label="lab_cpsi_AcuteCareMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acute Care EHR</link:label>
    <link:label id="lab_cpsi_AcuteCareMember_3e1141f1-187f-4030-b485-23a8e5737118_terseLabel_en-US" xlink:label="lab_cpsi_AcuteCareMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acute Care EHR</link:label>
    <link:label id="lab_cpsi_AcuteCareMember_label_en-US" xlink:label="lab_cpsi_AcuteCareMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acute Care [Member]</link:label>
    <link:label id="lab_cpsi_AcuteCareMember_documentation_en-US" xlink:label="lab_cpsi_AcuteCareMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acute Care [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AcuteCareMember" xlink:href="cpsi-20211231.xsd#cpsi_AcuteCareMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_AcuteCareMember" xlink:to="lab_cpsi_AcuteCareMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_93f81024-ea1a-4896-95c6-04496e632160_periodStartLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_a5aff06d-9aca-48d2-a279-17665ba2e555_periodEndLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiability" xlink:to="lab_us-gaap_ContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_80d43309-66c4-4298-bcec-5aa8fade2a9f_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by (used in) financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_TruBridgeRycanandOtherOutsourcingMember_8cfed709-72f3-4017-b7fd-b1833e69b410_terseLabel_en-US" xlink:label="lab_cpsi_TruBridgeRycanandOtherOutsourcingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">TruBridge</link:label>
    <link:label id="lab_cpsi_TruBridgeRycanandOtherOutsourcingMember_label_en-US" xlink:label="lab_cpsi_TruBridgeRycanandOtherOutsourcingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">TruBridge, Rycan, and Other Outsourcing [Member]</link:label>
    <link:label id="lab_cpsi_TruBridgeRycanandOtherOutsourcingMember_documentation_en-US" xlink:label="lab_cpsi_TruBridgeRycanandOtherOutsourcingMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">TruBridge, Rycan, and Other Outsourcing [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TruBridgeRycanandOtherOutsourcingMember" xlink:href="cpsi-20211231.xsd#cpsi_TruBridgeRycanandOtherOutsourcingMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_TruBridgeRycanandOtherOutsourcingMember" xlink:to="lab_cpsi_TruBridgeRycanandOtherOutsourcingMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockValue_66066774-a3e5-4dfe-9da2-3b99137e8b63_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock, 89 shares at December 31, 2021 and 47 shares at December 31, 2020</link:label>
    <link:label id="lab_us-gaap_TreasuryStockValue_label_en-US" xlink:label="lab_us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockValue" xlink:to="lab_us-gaap_TreasuryStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_f00dd63d-b45e-4b77-b6eb-57524831bed3_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_936647d1-2cf9-4d56-a709-48028ccb5913_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_42311dfb-a32a-442b-9cea-0d12ae68e020_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_bf298ec0-f886-436c-b8f1-dbdf6c901b09_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_bba8ce4e-23cb-47d6-90c0-56c525aaa96a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Activity Under Restricted Stock Plans</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_ProvisionToReturnAdjustments_c52fa3da-c0a6-4566-aa0a-8e292cf6a575_negatedLabel_en-US" xlink:label="lab_cpsi_ProvisionToReturnAdjustments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision-to-return adjustments</link:label>
    <link:label id="lab_cpsi_ProvisionToReturnAdjustments_label_en-US" xlink:label="lab_cpsi_ProvisionToReturnAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision To Return Adjustments</link:label>
    <link:label id="lab_cpsi_ProvisionToReturnAdjustments_documentation_en-US" xlink:label="lab_cpsi_ProvisionToReturnAdjustments" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision-to-return adjustments.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ProvisionToReturnAdjustments" xlink:href="cpsi-20211231.xsd#cpsi_ProvisionToReturnAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_ProvisionToReturnAdjustments" xlink:to="lab_cpsi_ProvisionToReturnAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_504f7643-b574-4ee2-abe6-d6fe54d860ca_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:to="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_74fa1c2e-cbb3-4d6c-aac0-2b0ed89cc253_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation to Federal Statutory Income Tax Rate</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_1a29204e-d6fb-499e-bc28-bd0dc79634ad_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_0af98f71-ed6b-4894-932c-f146a1236995_terseLabel_en-US" xlink:label="lab_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contingent consideration</link:label>
    <link:label id="lab_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contingent Consideration Classified as Equity, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:to="lab_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_AllowanceForCreditLossesMember_f580694e-7c9e-4d99-9d6b-98efba1c3523_terseLabel_en-US" xlink:label="lab_cpsi_AllowanceForCreditLossesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for credit losses deducted from financing receivables in the balance sheet</link:label>
    <link:label id="lab_cpsi_AllowanceForCreditLossesMember_label_en-US" xlink:label="lab_cpsi_AllowanceForCreditLossesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance For Credit Losses [Member]</link:label>
    <link:label id="lab_cpsi_AllowanceForCreditLossesMember_documentation_en-US" xlink:label="lab_cpsi_AllowanceForCreditLossesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance For Credit Losses [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AllowanceForCreditLossesMember" xlink:href="cpsi-20211231.xsd#cpsi_AllowanceForCreditLossesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_AllowanceForCreditLossesMember" xlink:to="lab_cpsi_AllowanceForCreditLossesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock_4441f238-1dac-42f6-8eb4-2958d5efc669_terseLabel_en-US" xlink:label="lab_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of Lease Receivables</link:label>
    <link:label id="lab_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock_label_en-US" xlink:label="lab_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Components Of Lease Receivables Table [Table Text Block]</link:label>
    <link:label id="lab_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock_documentation_en-US" xlink:label="lab_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of components of lease receivables.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock" xlink:href="cpsi-20211231.xsd#cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock" xlink:to="lab_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedSalariesCurrent_43202c02-57fc-4793-8502-aef0ba9ee02c_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedSalariesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Salaries and benefits</link:label>
    <link:label id="lab_us-gaap_AccruedSalariesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedSalariesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Salaries, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalariesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalariesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedSalariesCurrent" xlink:to="lab_us-gaap_AccruedSalariesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage_9c9da925-b725-4bf1-a417-133760f565cb_terseLabel_en-US" xlink:label="lab_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepayment amount from excess cash flow</link:label>
    <link:label id="lab_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage_label_en-US" xlink:label="lab_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Covenant, Prepayment Amount from Excess Cash Flow, Percentage</link:label>
    <link:label id="lab_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage_documentation_en-US" xlink:label="lab_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Covenant, Prepayment Amount from Excess Cash Flow, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage" xlink:href="cpsi-20211231.xsd#cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage" xlink:to="lab_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_772417e0-da7a-4a4a-9ead-7093139f7c7e_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_fe801a90-e585-4721-8ef4-f30c30dff4bb_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Carrying Amounts and Fair Values of Certain Assets</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:to="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_1e8fa822-7d2c-4907-9595-a6c4204a6822_totalLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net (after tax) stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expense, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_fe8375dd-2a70-4437-873a-6cd4c8611b7b_negatedLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: accumulated amortization</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationsPolicy_6d6141a0-15cf-406a-9b58-3a6f97a8116f_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationsPolicy_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationsPolicy" xlink:to="lab_us-gaap_BusinessCombinationsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_e404cc3e-3248-46b8-84a1-eb7f271a34a9_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_2ffb20c5-fd20-4487-8937-bb6ee8ea630b_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_16a6f764-da22-4072-a4c4-2d016ccb7b29_negatedLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable and accrued liabilities</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod_18f5b396-3383-4201-af6d-b4ddb2c178b4_terseLabel_en-US" xlink:label="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance share awards converted to restricted stock</link:label>
    <link:label id="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod_label_en-US" xlink:label="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Conversions in Period</link:label>
    <link:label id="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod_documentation_en-US" xlink:label="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Conversions in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" xlink:href="cpsi-20211231.xsd#cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" xlink:to="lab_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_27c4fb56-944d-4606-82ab-6b3ab21ee9d4_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total costs of sales</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenuesAbstract_af66aa1c-9519-4315-a7c3-ae7bf65aee87_terseLabel_en-US" xlink:label="lab_us-gaap_RevenuesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales revenues:</link:label>
    <link:label id="lab_us-gaap_RevenuesAbstract_label_en-US" xlink:label="lab_us-gaap_RevenuesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenuesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenuesAbstract" xlink:to="lab_us-gaap_RevenuesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_057f67df-36e2-43fa-b51d-6e7b2394f472_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_79793283-2fa5-4b51-a1bc-2e71387ad258_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_a9ee53d5-3532-4aab-8505-d47bd290a5c7_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentAbstract_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract" xlink:to="lab_us-gaap_ResearchAndDevelopmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReclassificationLineItems_50987970-a9c1-49c5-b60b-f18598457aa0_terseLabel_en-US" xlink:label="lab_us-gaap_ReclassificationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification [Line Items]</link:label>
    <link:label id="lab_us-gaap_ReclassificationLineItems_label_en-US" xlink:label="lab_us-gaap_ReclassificationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReclassificationLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReclassificationLineItems" xlink:to="lab_us-gaap_ReclassificationLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_659cedb5-480d-417a-90e2-59503e5cd4e4_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCost_66bc9a91-131e-4d6e-bbfb-c999f91c6046_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rent expense</link:label>
    <link:label id="lab_us-gaap_LeaseCost_label_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCost" xlink:to="lab_us-gaap_LeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_ee6e86e6-c8e4-4110-b111-cc284f8028db_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Property and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_d27faad8-cf92-4d78-9719-d96401a4ab72_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFinancingReceivablesPastDueTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Past Due [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFinancingReceivablesPastDueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Past Due [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFinancingReceivablesPastDueTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable" xlink:to="lab_us-gaap_ScheduleOfFinancingReceivablesPastDueTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_c2bc8227-b51f-44ca-a9ff-e7399f863a3c_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_b1b321d3-9ef5-4f4f-9e94-4d643ecb870b_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Relationships</link:label>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_label_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerRelationshipsMember" xlink:to="lab_us-gaap_CustomerRelationshipsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember_a9b3ce3e-1062-4112-bcae-790a371fb3b7_terseLabel_en-US" xlink:label="lab_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-recurring revenue</link:label>
    <link:label id="lab_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember_label_en-US" xlink:label="lab_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Systems Sales And Support Revenue Nonrecurring [Member]</link:label>
    <link:label id="lab_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember_documentation_en-US" xlink:label="lab_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Systems Sales And Support Revenue Nonrecurring</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember" xlink:href="cpsi-20211231.xsd#cpsi_SystemsSalesAndSupportRevenueNonrecurringMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember" xlink:to="lab_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskDisclosureTextBlock_a817cb47-24a4-4436-add7-0d5f2a9c952f_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration of Credit Risk</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:to="lab_us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_eb816f7d-e09b-46da-bf58-e17ce458c5c2_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_542269c7-067b-43d1-8665-9ee8a248f6d6_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_c1155edc-9b69-4759-b883-34e14f91465b_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpenses_e2273a2c-d2ae-4a70-a5f5-96765016d486_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total operating expenses</link:label>
    <link:label id="lab_us-gaap_OperatingExpenses_9d27ec9c-ce9d-42b5-8f31-45daca1fba82_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate operating expenses</link:label>
    <link:label id="lab_us-gaap_OperatingExpenses_label_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpenses" xlink:to="lab_us-gaap_OperatingExpenses" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum_3d254bbd-f4fa-4cd4-b250-f37be182eb31_terseLabel_en-US" xlink:label="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum consolidated leverage ratio</link:label>
    <link:label id="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum_label_en-US" xlink:label="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Covenant, Consolidated Leverage Ratio, Maximum</link:label>
    <link:label id="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum_documentation_en-US" xlink:label="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Covenant, Consolidated Leverage Ratio, Maximum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum" xlink:to="lab_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationOtherReconcilingItems_61cb9c04-1bc3-4b77-83d5-0df2889da566_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationOtherReconcilingItems_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:to="lab_us-gaap_IncomeTaxReconciliationOtherReconcilingItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareGross_c96bf6dc-f6e2-46c6-addd-596cffbfe156_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software development costs</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareGross_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareGross" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock_b6dd2441-30fa-432d-85e9-cc346bb06d28_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-Term Debt</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_6f4f795d-8cb0-4c2d-a064-c5d6c0883131_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Remaining Amortization of Definite-Lived Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_fc6a07a7-ae17-47c5-8649-cb45d8c63425_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentLineItems" xlink:to="lab_us-gaap_DebtInstrumentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_aa6c5e7e-c643-4229-966e-1a5571f32420_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfLongTermDebt_8ab46695-5023-4f4c-aa2d-0fb134dd6afc_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of long-term debt principal</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfLongTermDebt_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Long-term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfLongTermDebt" xlink:to="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_a6d6384b-ae99-48b5-9c9e-df78da08e3e4_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate_65fa28fc-af7a-43a1-be17-0d2c0aa4d022_negatedTerseLabel_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Decrease in effective tax rate for tax shortfalls related to stock-based compensation arrangements</link:label>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate_label_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Share-based Compensation Arrangement, Increase (Decrease) in Effective Tax Rate</link:label>
    <link:label id="lab_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate_documentation_en-US" xlink:label="lab_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Share-based Compensation Arrangement, Increase (Decrease) in Effective Tax Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate" xlink:to="lab_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_8ed14e47-bc66-4cca-bae2-2d68eecc5f0f_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (loss) per share</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionsProFormaRevenue_1296e0f2-dd3e-4452-94cf-b59734575b3c_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pro forma revenues</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionsProFormaRevenue_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Pro Forma Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="lab_us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_af067140-ef18-49e9-b387-3fb7ec06b321_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, gross</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_7fac8f2a-3af8-4f9a-8fa6-8839bd53a3d5_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Accrued Liabilities</link:label>
    <link:label id="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesOther_8904b532-5026-470f-ac77-a79916a1dfc3_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fixed assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesOther_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesOther" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesOther" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TrademarksMember_3d43599a-ce78-4654-a526-914f68ea27fa_terseLabel_en-US" xlink:label="lab_us-gaap_TrademarksMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademark</link:label>
    <link:label id="lab_us-gaap_TrademarksMember_label_en-US" xlink:label="lab_us-gaap_TrademarksMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademarks [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TrademarksMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TrademarksMember" xlink:to="lab_us-gaap_TrademarksMember" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_PaymentsofContingentConsideration_02793f0e-cdfd-4770-b532-d4f4a1f00b1b_negatedTerseLabel_en-US" xlink:label="lab_cpsi_PaymentsofContingentConsideration" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of contingent consideration</link:label>
    <link:label id="lab_cpsi_PaymentsofContingentConsideration_label_en-US" xlink:label="lab_cpsi_PaymentsofContingentConsideration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of Contingent Consideration</link:label>
    <link:label id="lab_cpsi_PaymentsofContingentConsideration_documentation_en-US" xlink:label="lab_cpsi_PaymentsofContingentConsideration" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of Contingent Consideration</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PaymentsofContingentConsideration" xlink:href="cpsi-20211231.xsd#cpsi_PaymentsofContingentConsideration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_PaymentsofContingentConsideration" xlink:to="lab_cpsi_PaymentsofContingentConsideration" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_ee5d314d-2312-46c9-8cfc-3a380c6b12e6_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term debt, net of current portion</link:label>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_430f1a60-3eb9-4898-a754-ff049fb726c1_verboseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term debt</link:label>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_label_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Excluding Current Maturities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtNoncurrent" xlink:to="lab_us-gaap_LongTermDebtNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTable_e0585a54-c037-450f-b934-e6d784b31660_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable" xlink:to="lab_us-gaap_ScheduleOfGoodwillTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_292a090d-e1f6-479e-929e-5c647d6aeef7_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-tax stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_3f7cccdb-1909-4ef8-9705-cfe61e00f2a0_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_976084aa-1aa3-4aa9-a0e5-586a8a5b353e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-Average Grant-Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_f2d018cd-f353-43c1-b3e1-329016ee556d_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective income tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedContributionPlanDisclosureLineItems_d8b8c849-974f-4ab4-b737-e9389537677f_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan Disclosure [Line Items]</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanDisclosureLineItems_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:to="lab_us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfFinancingCosts_283e41cc-a195-4ce9-b0d9-45ad5185e0de_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of deferred finance costs</link:label>
    <link:label id="lab_us-gaap_AmortizationOfFinancingCosts_label_en-US" xlink:label="lab_us-gaap_AmortizationOfFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Debt Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfFinancingCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfFinancingCosts" xlink:to="lab_us-gaap_AmortizationOfFinancingCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PayablesAndAccrualsAbstract_label_en-US" xlink:label="lab_us-gaap_PayablesAndAccrualsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payables and Accruals [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract" xlink:to="lab_us-gaap_PayablesAndAccrualsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_38c3a003-0465-4151-b82a-8af6ddd8b954_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss on disposal of property and equipment</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_f8f68395-c5c4-4769-be95-896ec61f903d_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents at beginning of year</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_73496bbc-e29b-4844-9bb3-a3a9196e4463_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents at end of year</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharesIssued_2f11490d-76a1-407c-ad9b-289e4fe92ecd_periodStartLabel_en-US" xlink:label="lab_us-gaap_SharesIssued" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesIssued_106d99f1-5108-4216-a0ef-b2567e694231_periodEndLabel_en-US" xlink:label="lab_us-gaap_SharesIssued" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesIssued_label_en-US" xlink:label="lab_us-gaap_SharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesIssued" xlink:to="lab_us-gaap_SharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_ChangeInContractWithCustomerLiabilityRollForward_5a560893-e121-416b-a6f3-ccc7ad3bc7cc_terseLabel_en-US" xlink:label="lab_cpsi_ChangeInContractWithCustomerLiabilityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change In Contract With Customer, Liability [Heading Roll Forward]</link:label>
    <link:label id="lab_cpsi_ChangeInContractWithCustomerLiabilityRollForward_label_en-US" xlink:label="lab_cpsi_ChangeInContractWithCustomerLiabilityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change In Contract With Customer, Liability [Roll Forward]</link:label>
    <link:label id="lab_cpsi_ChangeInContractWithCustomerLiabilityRollForward_documentation_en-US" xlink:label="lab_cpsi_ChangeInContractWithCustomerLiabilityRollForward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"></link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ChangeInContractWithCustomerLiabilityRollForward" xlink:href="cpsi-20211231.xsd#cpsi_ChangeInContractWithCustomerLiabilityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_ChangeInContractWithCustomerLiabilityRollForward" xlink:to="lab_cpsi_ChangeInContractWithCustomerLiabilityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Dividends_b932122d-a86b-4f74-b3e5-a58593425eb2_negatedLabel_en-US" xlink:label="lab_us-gaap_Dividends" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividends</link:label>
    <link:label id="lab_us-gaap_Dividends_label_en-US" xlink:label="lab_us-gaap_Dividends" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividends</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Dividends" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Dividends"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Dividends" xlink:to="lab_us-gaap_Dividends" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_bb9cd110-dab1-45c1-81f6-e1a1f7e90d95_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears_88a99b2d-9e3b-49c4-af43-555299bbcb36_terseLabel_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears_label_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears" xlink:to="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_TruCodeLLCMember_7206dbff-786c-4ab1-84f7-91652e886a7c_terseLabel_en-US" xlink:label="lab_cpsi_TruCodeLLCMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">TruCode LLC</link:label>
    <link:label id="lab_cpsi_TruCodeLLCMember_label_en-US" xlink:label="lab_cpsi_TruCodeLLCMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">TruCode LLC [Member]</link:label>
    <link:label id="lab_cpsi_TruCodeLLCMember_documentation_en-US" xlink:label="lab_cpsi_TruCodeLLCMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">TruCode LLC</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TruCodeLLCMember" xlink:href="cpsi-20211231.xsd#cpsi_TruCodeLLCMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_TruCodeLLCMember" xlink:to="lab_cpsi_TruCodeLLCMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_cead7a05-82ef-4b03-96d2-ddc0ee0a7bfb_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_1d540974-ebdb-477d-b0b2-f5b3badeb82c_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross carrying amount</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_5fbaeda0-fe38-4043-9fcd-f3f1bca51717_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares available for future issuance (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_label_en-US" xlink:label="lab_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Capital Shares Reserved for Future Issuance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="lab_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSoldAbstract_a4a57eee-1371-42f2-bf6b-649e3d8bd978_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs of sales (exclusive of amortization shown separately below):</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSoldAbstract_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Services Sold [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_9928b6ed-cbe0-458c-9878-4a677cf1356b_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:to="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_3eb3fc91-3198-40f7-8d26-d4b6861b7b1a_terseLabel_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">LIBOR rate</link:label>
    <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_label_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate (LIBOR) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_b1d548de-d10b-4c88-9455-731f4292e47c_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining useful life</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Remaining Amortization Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAmortization1_2aec28a1-9122-4f8b-88b2-1747adb7520b_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of software development costs</link:label>
    <link:label id="lab_us-gaap_CapitalizedComputerSoftwareAmortization1_label_en-US" xlink:label="lab_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Computer Software, Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAmortization1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:to="lab_us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_c89b9856-2ce1-47ff-8b06-21086e79da49_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchased Intangible Assets</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_34403b20-4505-4ca8-ad4c-946bdb3a8b47_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_621f02ae-ed6e-4e51-b41e-47fd2336afbc_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Recognition</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_fac66964-5ad6-4046-845e-e0f5979bd304_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock issued upon exercise of stock options (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_RevenuePerformanceObligationDescriptionOfTiming1_fcc144ac-a9c6-47ed-8539-d00e8180cc0c_terseLabel_en-US" xlink:label="lab_cpsi_RevenuePerformanceObligationDescriptionOfTiming1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue performance obligation, description of timing</link:label>
    <link:label id="lab_cpsi_RevenuePerformanceObligationDescriptionOfTiming1_label_en-US" xlink:label="lab_cpsi_RevenuePerformanceObligationDescriptionOfTiming1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Performance Obligation, Description of Timing1</link:label>
    <link:label id="lab_cpsi_RevenuePerformanceObligationDescriptionOfTiming1_documentation_en-US" xlink:label="lab_cpsi_RevenuePerformanceObligationDescriptionOfTiming1" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Performance Obligation, Description of Timing1</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_RevenuePerformanceObligationDescriptionOfTiming1" xlink:href="cpsi-20211231.xsd#cpsi_RevenuePerformanceObligationDescriptionOfTiming1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_RevenuePerformanceObligationDescriptionOfTiming1" xlink:to="lab_cpsi_RevenuePerformanceObligationDescriptionOfTiming1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_a0c331db-6fb2-49a5-96e1-a2c6b0ff76a7_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_d20639b0-9538-4723-b34b-1695c1882c52_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares outstanding used in diluted per common share computations (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_EarningsPerShareDilutedNumeratorAbstract_d8e1550c-ebc1-40ee-9202-6a455f7f8614_terseLabel_en-US" xlink:label="lab_cpsi_EarningsPerShareDilutedNumeratorAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Numerator</link:label>
    <link:label id="lab_cpsi_EarningsPerShareDilutedNumeratorAbstract_label_en-US" xlink:label="lab_cpsi_EarningsPerShareDilutedNumeratorAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted, Numerator [Abstract]</link:label>
    <link:label id="lab_cpsi_EarningsPerShareDilutedNumeratorAbstract_documentation_en-US" xlink:label="lab_cpsi_EarningsPerShareDilutedNumeratorAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted, Numerator [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EarningsPerShareDilutedNumeratorAbstract" xlink:href="cpsi-20211231.xsd#cpsi_EarningsPerShareDilutedNumeratorAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_EarningsPerShareDilutedNumeratorAbstract" xlink:to="lab_cpsi_EarningsPerShareDilutedNumeratorAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_be31f234-0007-4f16-909b-56ae53e5bcc9_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_9b55c4b2-9196-4f47-b716-5d34e08ef5bd_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares outstanding used in per common share computations:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_39457ea7-562b-4cb8-ad68-822b82122c2f_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeAxis" xlink:to="lab_us-gaap_LongtermDebtTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_037c1b69-ddfe-4c79-9996-86712401cf1e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Definite-Lived Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:to="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_f098bedd-78e3-4c21-b5b5-481971bf3f77_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis spread on variable rate</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByMeasurementBasisAxis_e4a0ac66-7e05-4870-ad6a-313263a00758_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementBasisAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Basis [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByMeasurementBasisAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementBasisAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Basis [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementBasisAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementBasisAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementBasisAxis" xlink:to="lab_us-gaap_FairValueByMeasurementBasisAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_c00c3bce-3b69-439f-aad8-59a67485caba_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TextBlockAbstract_label_en-US" xlink:label="lab_us-gaap_TextBlockAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Text Block [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TextBlockAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TextBlockAbstract" xlink:to="lab_us-gaap_TextBlockAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease_6fa61065-7ecf-4e68-967a-ac11a140eeb6_terseLabel_en-US" xlink:label="lab_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue recorded</link:label>
    <link:label id="lab_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease_label_en-US" xlink:label="lab_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer Liability, Period Increase (Decrease)</link:label>
    <link:label id="lab_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease_documentation_en-US" xlink:label="lab_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"></link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease" xlink:href="cpsi-20211231.xsd#cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease" xlink:to="lab_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostTableTextBlock_d5b1c4ca-705b-486a-ae43-25f80112a1ed_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Changes in Capitalized Contract Cost</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedContractCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostTableTextBlock" xlink:to="lab_us-gaap_CapitalizedContractCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NonoperatingIncomeExpenseAbstract_2104894f-d2f9-4eea-837f-f93f23c83500_terseLabel_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income (expense):</link:label>
    <link:label id="lab_us-gaap_NonoperatingIncomeExpenseAbstract_label_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonoperating Income (Expense) [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorFirmId_7b93071b-582c-4e9d-9efb-ede500635df5_terseLabel_en-US" xlink:label="lab_dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:label id="lab_dei_AuditorFirmId_label_en-US" xlink:label="lab_dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorFirmId" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorFirmId"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorFirmId" xlink:to="lab_dei_AuditorFirmId" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation_646a89cf-ce1f-404c-a33a-cff0c46da6aa_negatedLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liability</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Asset Acquired and Liability Assumed, Lease Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityAxis_a55085c7-bbbc-4951-bc00-f34f7fa9b6ae_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_c7eb56c2-9225-439e-86cc-2558b32cc6ab_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_5fe0d809-3d45-4b74-8cce-3ef12e21fd7a_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_c802934e-2882-43c6-8aa3-9935f814e05a_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PortionAtFairValueFairValueDisclosureMember_800862e8-cf23-47c7-8125-6ded09b15159_terseLabel_en-US" xlink:label="lab_us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Portion at Fair Value Measurement [Member]</link:label>
    <link:label id="lab_us-gaap_PortionAtFairValueFairValueDisclosureMember_label_en-US" xlink:label="lab_us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Portion at Fair Value Measurement [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:to="lab_us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BuildingAndBuildingImprovementsMember_00983a65-5042-4b6a-8c9e-8c309aed6d55_terseLabel_en-US" xlink:label="lab_us-gaap_BuildingAndBuildingImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Buildings and improvements</link:label>
    <link:label id="lab_us-gaap_BuildingAndBuildingImprovementsMember_label_en-US" xlink:label="lab_us-gaap_BuildingAndBuildingImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Building and Building Improvements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingAndBuildingImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="lab_us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_f24c66c3-b884-4d87-b66a-6aa9b43439f1_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in operating assets and liabilities (net of acquired assets and liabilities):</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_4898c5f6-4b2f-4ad8-9340-9b79c407b3a2_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: accumulated depreciation</link:label>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_0e76391a-f103-4d88-895a-f4137aa852d0_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_9e24a558-d88d-43b5-9761-9d91f04ae8c1_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and issued (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod_8dacc352-9c55-4e03-a2ca-a6849c4d400d_terseLabel_en-US" xlink:label="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited or unearned (in shares)</link:label>
    <link:label id="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod_label_en-US" xlink:label="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Actual Performance, Net Of Forfeitures In Period</link:label>
    <link:label id="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod_documentation_en-US" xlink:label="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Actual Performance, Net Of Forfeitures In Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod" xlink:href="cpsi-20211231.xsd#cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod" xlink:to="lab_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConsolidationPolicyTextBlock_2877b77f-7af4-4c8a-a346-841a4d25cc5c_terseLabel_en-US" xlink:label="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principles of Consolidation</link:label>
    <link:label id="lab_us-gaap_ConsolidationPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConsolidationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConsolidationPolicyTextBlock" xlink:to="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_ea111dc5-8ccf-4dd0-8174-b2991a45c765_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_9aadbba9-d8f9-4d61-9c22-fbb251c9c0a2_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_6110339f-409a-49c8-bd7f-f95f05d57b67_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain on contingent consideration</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_951fbefa-208c-46c8-8a54-5e7bf28478e2_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain on contingent consideration</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum_2013cb54-0698-4f23-8fbf-f46aad0b43b1_terseLabel_en-US" xlink:label="lab_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum fixed charge coverage ratio</link:label>
    <link:label id="lab_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum_label_en-US" xlink:label="lab_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Covenant, Fixed Charge Coverage Ratio, Minimum</link:label>
    <link:label id="lab_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum_documentation_en-US" xlink:label="lab_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Covenant, Fixed Charge Coverage Ratio, Minimum</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum" xlink:to="lab_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock_8c39b1b0-608b-4f18-9485-8a53e4d331fa_terseLabel_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales-type and Direct Financing Leases, Lease Receivable, Maturity</link:label>
    <link:label id="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales-type and Direct Financing Leases, Lease Receivable, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock" xlink:to="lab_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_AuditInformationAbstract_label_en-US" xlink:label="lab_cpsi_AuditInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Audit Information [Abstract]</link:label>
    <link:label id="lab_cpsi_AuditInformationAbstract_documentation_en-US" xlink:label="lab_cpsi_AuditInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Audit Information [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AuditInformationAbstract" xlink:href="cpsi-20211231.xsd#cpsi_AuditInformationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_AuditInformationAbstract" xlink:to="lab_cpsi_AuditInformationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedContributionPlanTable_9b29b299-a43d-43b8-9de6-f777ed39ff02_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan [Table]</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanTable_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Contribution Plan [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanTable" xlink:to="lab_us-gaap_DefinedContributionPlanTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_db3a393d-58e5-438e-a1ac-ec911d7d21c4_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount of credit facility</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_cdde14b0-dfc0-4b84-9e17-be9123673a0b_negatedTerseLabel_en-US" xlink:label="lab_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less deferred revenue recognized as revenue</link:label>
    <link:label id="lab_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_label_en-US" xlink:label="lab_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer Liability, Including New Contract Revenue, Recognized</link:label>
    <link:label id="lab_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_documentation_en-US" xlink:label="lab_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer Liability, Including New Contract Revenue, Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:href="cpsi-20211231.xsd#cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:to="lab_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_72224b6a-d44c-4142-b082-ea16ebe6f42e_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired cash</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingInformationLineItems_316b5419-8fef-4598-bdea-9b8641bccc74_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingInformationLineItems_label_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems" xlink:to="lab_us-gaap_SegmentReportingInformationLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_6623cd01-380b-4db6-8938-257bb5c060a6_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NotesReceivableGross_08e010ce-6505-4b37-a356-f30360080f74_terseLabel_en-US" xlink:label="lab_us-gaap_NotesReceivableGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term financing arrangements, gross</link:label>
    <link:label id="lab_us-gaap_NotesReceivableGross_b78d897b-7c72-4aef-9095-f7d6e913011e_verboseLabel_en-US" xlink:label="lab_us-gaap_NotesReceivableGross" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total uninvoiced client financing receivables of clients with no related trade accounts receivable</link:label>
    <link:label id="lab_us-gaap_NotesReceivableGross_label_en-US" xlink:label="lab_us-gaap_NotesReceivableGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, before Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NotesReceivableGross" xlink:to="lab_us-gaap_NotesReceivableGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_0d7248a0-d409-4ded-9706-494af02d61f2_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commissions</link:label>
    <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Sales Commission, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:to="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FederalFundsEffectiveSwapRateMember_a8fef252-6e4f-4e50-9735-7074528435f4_terseLabel_en-US" xlink:label="lab_us-gaap_FederalFundsEffectiveSwapRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal funds rate</link:label>
    <link:label id="lab_us-gaap_FederalFundsEffectiveSwapRateMember_label_en-US" xlink:label="lab_us-gaap_FederalFundsEffectiveSwapRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fed Funds Effective Rate Overnight Index Swap Rate [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FederalFundsEffectiveSwapRateMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FederalFundsEffectiveSwapRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FederalFundsEffectiveSwapRateMember" xlink:to="lab_us-gaap_FederalFundsEffectiveSwapRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_5a0c31af-4bb3-42d5-82c5-ae76f662d84f_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_4d4d882d-f1f2-49f7-b1fc-22d31f5f6d1d_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Standards Adopted in 2021 and New Accounting Standards Yet to be Adopted</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_f5c377ab-ddf6-407b-893f-006d9f3785e3_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Range [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventMember_36de1b33-744c-450c-9da2-2030ba9a95d8_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent event</link:label>
    <link:label id="lab_us-gaap_SubsequentEventMember_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember" xlink:to="lab_us-gaap_SubsequentEventMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_0faeb293-9432-4c20-abc6-e497e8d2fa6b_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income taxes at U.S. federal statutory rate</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLosses_7023a7e4-82bf-48f6-abf0-7ca25abe9f7b_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLosses" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: allowance for credit losses</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLosses_8babb2ba-1014-4876-8fac-13810a6b119a_periodStartLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLosses" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning Balance</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLosses_73ece4b8-1dd0-40b0-85bf-4f6adbe1281a_periodEndLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLosses" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending Balance</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLosses_label_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLosses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses" xlink:to="lab_us-gaap_FinancingReceivableAllowanceForCreditLosses" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Goodwill_c5b083ee-2160-4cb7-a7a6-2965d63f2ddd_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_a128845d-6769-469d-b680-3e2fccb56d44_periodStartLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, beginning balance</link:label>
    <link:label id="lab_us-gaap_Goodwill_1c7d1765-22f0-4d20-8ba2-758b330a17c7_periodEndLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, ending balance</link:label>
    <link:label id="lab_us-gaap_Goodwill_label_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_dddd2f5d-4d9f-4085-b4d2-4b448b0ebd53_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets, net</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_fbb456eb-9f48-450f-9b4a-32040daab47f_totalLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net intangible assets</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_698c2192-77f2-4bbc-b377-4604dcc0a4dc_periodStartLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at beginning of period</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_a5eb370e-83de-4eef-94cd-2440f21dddab_periodEndLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at end of period</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfSalesMember_997f0b01-b73c-4a4b-b021-45e80067b6a5_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs of sales</link:label>
    <link:label id="lab_us-gaap_CostOfSalesMember_label_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfSalesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesMember" xlink:to="lab_us-gaap_CostOfSalesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryPolicyTextBlock_7057a33b-8dd3-4b28-8a31-6c9c2fc10c98_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_InventoryPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryPolicyTextBlock" xlink:to="lab_us-gaap_InventoryPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationTaxCredits_e7e35a27-d4a9-4093-8a61-ba3faccfbe72_negatedLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationTaxCredits" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax credits</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationTaxCredits_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationTaxCredits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxCredits" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationTaxCredits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationTaxCredits" xlink:to="lab_us-gaap_IncomeTaxReconciliationTaxCredits" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ScenarioUnspecifiedDomain_ba8befff-11d3-411f-bb58-bc3555d93693_terseLabel_en-US" xlink:label="lab_srt_ScenarioUnspecifiedDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario, Unspecified [Domain]</link:label>
    <link:label id="lab_srt_ScenarioUnspecifiedDomain_label_en-US" xlink:label="lab_srt_ScenarioUnspecifiedDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScenarioUnspecifiedDomain" xlink:to="lab_srt_ScenarioUnspecifiedDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_19d69ae0-0446-486a-923c-b5b9284d228c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Changes in the Carrying Amount of Goodwill</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NatureOfOperations_32c506d1-d097-428a-8b93-6042a460bd28_terseLabel_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Operations</link:label>
    <link:label id="lab_us-gaap_NatureOfOperations_label_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Operations [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NatureOfOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NatureOfOperations" xlink:to="lab_us-gaap_NatureOfOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_6686e889-71ad-4063-8df3-16a1dbdb7fb8_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to net income:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_8dd84e7e-f7ba-4f7d-a26a-84892255bb7b_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis" xlink:to="lab_us-gaap_SubsequentEventTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_e511bcf0-49f8-4f1c-b4b1-d767e17daad4_terseLabel_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Developed Technology</link:label>
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_label_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DevelopedTechnologyRightsMember" xlink:to="lab_us-gaap_DevelopedTechnologyRightsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComputerEquipmentMember_7c572dae-553f-433a-8684-76fca53a5a43_terseLabel_en-US" xlink:label="lab_us-gaap_ComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer equipment</link:label>
    <link:label id="lab_us-gaap_ComputerEquipmentMember_label_en-US" xlink:label="lab_us-gaap_ComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComputerEquipmentMember" xlink:to="lab_us-gaap_ComputerEquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_4f18e7e9-7592-460c-bd3c-f666c19efb37_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AutomobilesMember_dd73b57f-5123-49b8-ac26-4d091c01a1e7_terseLabel_en-US" xlink:label="lab_us-gaap_AutomobilesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Automobiles</link:label>
    <link:label id="lab_us-gaap_AutomobilesMember_label_en-US" xlink:label="lab_us-gaap_AutomobilesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Automobiles [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AutomobilesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AutomobilesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AutomobilesMember" xlink:to="lab_us-gaap_AutomobilesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_cb391309-e7c7-49d5-a990-c54da753b6b6_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue acquired</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Increase (Decrease) for Contract Acquired in Business Combination</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_c6cc7749-70c1-43e7-b42d-66be4e076ddc_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>11
<FILENAME>cpsi-20211231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:5f089e39-5400-42a6-8cf7-a58d1803f56b,g:4b2da0af-6aab-4056-86f4-46579ce6ecbb-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.cpsinet.com/role/Coverpage" xlink:type="simple" xlink:href="cpsi-20211231.xsd#Coverpage"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/Coverpage" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_e880b3a5-0ddc-46f5-9785-259021f4b43f" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_DocumentType_e880b3a5-0ddc-46f5-9785-259021f4b43f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport_62cc062a-8908-4fca-b48b-1032162687d6" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentAnnualReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_DocumentAnnualReport_62cc062a-8908-4fca-b48b-1032162687d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_7eef11b6-0232-43b1-8c64-4a30e1220041" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_DocumentPeriodEndDate_7eef11b6-0232-43b1-8c64-4a30e1220041" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_5da33022-2be4-436f-a43f-6ef6a1f4d828" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_CurrentFiscalYearEndDate_5da33022-2be4-436f-a43f-6ef6a1f4d828" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_c473058e-f462-4bcd-a893-d11a2838eb06" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_DocumentTransitionReport_c473058e-f462-4bcd-a893-d11a2838eb06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_606ce6c9-e5dd-4962-9c6f-d9887278d59f" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityFileNumber_606ce6c9-e5dd-4962-9c6f-d9887278d59f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_0e126e6b-6e12-4f4e-b9dd-690fd3f92739" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityRegistrantName_0e126e6b-6e12-4f4e-b9dd-690fd3f92739" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_2b4719b4-e933-462f-8b55-8a3e431e4116" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityIncorporationStateCountryCode_2b4719b4-e933-462f-8b55-8a3e431e4116" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_9675a522-a660-4a70-a213-e8b03d657bbb" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityTaxIdentificationNumber_9675a522-a660-4a70-a213-e8b03d657bbb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_a6c54553-f782-43a0-a0d6-fd368fc7a876" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityAddressAddressLine1_a6c54553-f782-43a0-a0d6-fd368fc7a876" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_9865b356-609e-4b4d-8cee-a41135907783" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityAddressCityOrTown_9865b356-609e-4b4d-8cee-a41135907783" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_2c4bbea9-b081-4632-8b8f-e7653a862f30" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityAddressStateOrProvince_2c4bbea9-b081-4632-8b8f-e7653a862f30" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_7eaeab7a-8e30-4cae-a6c7-5455f98b37f7" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityAddressPostalZipCode_7eaeab7a-8e30-4cae-a6c7-5455f98b37f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_12b47aee-0b4b-4fef-88f9-18bb2de6d30d" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_CityAreaCode_12b47aee-0b4b-4fef-88f9-18bb2de6d30d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_6b79e4cc-3ede-4a99-9ad1-d708f942da56" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_LocalPhoneNumber_6b79e4cc-3ede-4a99-9ad1-d708f942da56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_1e0e6aa1-f21e-4200-b02c-88490ffa0f13" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_Security12bTitle_1e0e6aa1-f21e-4200-b02c-88490ffa0f13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_3ed6841b-3d5f-4bdf-bba1-77b7fceb58e2" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_TradingSymbol_3ed6841b-3d5f-4bdf-bba1-77b7fceb58e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_ec45c775-3e7b-47f9-adc2-941373687ee9" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_SecurityExchangeName_ec45c775-3e7b-47f9-adc2-941373687ee9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer_97f0eb54-9236-4153-8927-8f70ecfe945b" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityWellKnownSeasonedIssuer_97f0eb54-9236-4153-8927-8f70ecfe945b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers_13db756a-b4a4-4d25-ace1-3b7d636125d6" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityVoluntaryFilers"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityVoluntaryFilers_13db756a-b4a4-4d25-ace1-3b7d636125d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_081c27a6-608b-4349-9618-ced5cda71e86" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityCurrentReportingStatus_081c27a6-608b-4349-9618-ced5cda71e86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_4e7317ed-3e53-400e-acbd-68825f659da8" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityInteractiveDataCurrent_4e7317ed-3e53-400e-acbd-68825f659da8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_ed7000e7-3e6f-4a82-989f-bf7c273558af" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityFilerCategory_ed7000e7-3e6f-4a82-989f-bf7c273558af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_1f44633f-2f49-4bce-ab69-9c6bd2506b1c" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntitySmallBusiness_1f44633f-2f49-4bce-ab69-9c6bd2506b1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_d012d8ab-9de6-4662-a9ed-2d497b6f8f5e" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityEmergingGrowthCompany_d012d8ab-9de6-4662-a9ed-2d497b6f8f5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag_5c8e7bef-bb97-4b52-abee-2f42c21d15bb" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_IcfrAuditorAttestationFlag_5c8e7bef-bb97-4b52-abee-2f42c21d15bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_52f6287d-e28d-4758-b5b5-a481156fa20e" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityShellCompany_52f6287d-e28d-4758-b5b5-a481156fa20e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat_ba262903-d587-4185-b9ae-827b91891171" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityPublicFloat"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityPublicFloat_ba262903-d587-4185-b9ae-827b91891171" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_c33d68a1-b990-47c9-b5bd-23adba424914" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_c33d68a1-b990-47c9-b5bd-23adba424914" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock_db5e30ac-8972-43aa-a089-85ffec93d39f" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_DocumentsIncorporatedByReferenceTextBlock_db5e30ac-8972-43aa-a089-85ffec93d39f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_fd555949-9d8f-4fed-90ef-b24838edcef6" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="31" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_EntityCentralIndexKey_fd555949-9d8f-4fed-90ef-b24838edcef6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_06bc493e-8b90-4756-a79c-f5af7920c78b" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="32" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_DocumentFiscalYearFocus_06bc493e-8b90-4756-a79c-f5af7920c78b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_5f0f5a38-ccf8-488c-8128-95e1b4ceb25b" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="33" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_DocumentFiscalPeriodFocus_5f0f5a38-ccf8-488c-8128-95e1b4ceb25b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_bb6833c0-9cac-4f78-8eda-649778fb9239" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="34" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_127af347-fba1-4cd9-8072-376b8536a3b4" xlink:to="loc_dei_AmendmentFlag_bb6833c0-9cac-4f78-8eda-649778fb9239" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/AuditInformation" xlink:type="simple" xlink:href="cpsi-20211231.xsd#AuditInformation"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/AuditInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AuditInformationAbstract_33a1d672-5cae-4760-8c63-904e7ce83a7c" xlink:href="cpsi-20211231.xsd#cpsi_AuditInformationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorFirmId_b8032a94-8e39-4cd9-ab8e-29fc50a4b5fe" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorFirmId"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_AuditInformationAbstract_33a1d672-5cae-4760-8c63-904e7ce83a7c" xlink:to="loc_dei_AuditorFirmId_b8032a94-8e39-4cd9-ab8e-29fc50a4b5fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorName_119204b6-4fa7-4e4f-bdad-ddc8951a703e" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorName"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_AuditInformationAbstract_33a1d672-5cae-4760-8c63-904e7ce83a7c" xlink:to="loc_dei_AuditorName_119204b6-4fa7-4e4f-bdad-ddc8951a703e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorLocation_7a64bdca-ecc5-4e6c-ab99-ee8064cfcf11" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorLocation"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_AuditInformationAbstract_33a1d672-5cae-4760-8c63-904e7ce83a7c" xlink:to="loc_dei_AuditorLocation_7a64bdca-ecc5-4e6c-ab99-ee8064cfcf11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ConsolidatedBalanceSheets"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_c9f96dac-a074-43b2-aedb-f11d252653be" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_3c15663f-87ed-4ddd-9075-79532d7122b8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_c9f96dac-a074-43b2-aedb-f11d252653be" xlink:to="loc_us-gaap_AssetsAbstract_3c15663f-87ed-4ddd-9075-79532d7122b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_8346d708-b2da-4af6-bd3e-a6fb70f29f79" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3c15663f-87ed-4ddd-9075-79532d7122b8" xlink:to="loc_us-gaap_AssetsCurrentAbstract_8346d708-b2da-4af6-bd3e-a6fb70f29f79" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_8b4b9e12-5651-46d9-8213-944e66d9b0df" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8346d708-b2da-4af6-bd3e-a6fb70f29f79" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_8b4b9e12-5651-46d9-8213-944e66d9b0df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_50ea2017-ed3d-474c-bda1-0ddc885214c0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8346d708-b2da-4af6-bd3e-a6fb70f29f79" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_50ea2017-ed3d-474c-bda1-0ddc885214c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableNetCurrent_51545499-820a-491d-8e2d-267f649cd9bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8346d708-b2da-4af6-bd3e-a6fb70f29f79" xlink:to="loc_us-gaap_NotesAndLoansReceivableNetCurrent_51545499-820a-491d-8e2d-267f649cd9bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_7a004b2d-8293-4c68-af75-5776a88bf956" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8346d708-b2da-4af6-bd3e-a6fb70f29f79" xlink:to="loc_us-gaap_InventoryNet_7a004b2d-8293-4c68-af75-5776a88bf956" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidTaxes_47c0b7a9-1675-4a8f-909c-88201390dd1f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidTaxes"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8346d708-b2da-4af6-bd3e-a6fb70f29f79" xlink:to="loc_us-gaap_PrepaidTaxes_47c0b7a9-1675-4a8f-909c-88201390dd1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_550332d6-3684-4883-ae9c-8f61dc7934ce" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8346d708-b2da-4af6-bd3e-a6fb70f29f79" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_550332d6-3684-4883-ae9c-8f61dc7934ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_c850b56e-7298-415b-b90e-796ab09a1903" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8346d708-b2da-4af6-bd3e-a6fb70f29f79" xlink:to="loc_us-gaap_AssetsCurrent_c850b56e-7298-415b-b90e-796ab09a1903" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_bc282ee4-2176-4f99-8682-e18507404e40" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3c15663f-87ed-4ddd-9075-79532d7122b8" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_bc282ee4-2176-4f99-8682-e18507404e40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_e6dfcd1e-0621-4f5f-98fa-08aff32cda9f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3c15663f-87ed-4ddd-9075-79532d7122b8" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_e6dfcd1e-0621-4f5f-98fa-08aff32cda9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_5c074bfa-25c3-4a9e-a8db-949b4d72a972" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3c15663f-87ed-4ddd-9075-79532d7122b8" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_5c074bfa-25c3-4a9e-a8db-949b4d72a972" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableNetNoncurrent_5f8843ea-1120-4037-95da-01021954a71f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3c15663f-87ed-4ddd-9075-79532d7122b8" xlink:to="loc_us-gaap_NotesAndLoansReceivableNetNoncurrent_5f8843ea-1120-4037-95da-01021954a71f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_fdba60ed-28cd-441d-b7fe-449a6f09a0af" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3c15663f-87ed-4ddd-9075-79532d7122b8" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_fdba60ed-28cd-441d-b7fe-449a6f09a0af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_1c38047d-f070-428d-9e3d-660ea50ec4ca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3c15663f-87ed-4ddd-9075-79532d7122b8" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_1c38047d-f070-428d-9e3d-660ea50ec4ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_6d6df203-298a-4d5e-90a9-3a92dd843fa2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3c15663f-87ed-4ddd-9075-79532d7122b8" xlink:to="loc_us-gaap_Goodwill_6d6df203-298a-4d5e-90a9-3a92dd843fa2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_c30ef732-afa4-46ab-864c-21c456ea223e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3c15663f-87ed-4ddd-9075-79532d7122b8" xlink:to="loc_us-gaap_Assets_c30ef732-afa4-46ab-864c-21c456ea223e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_4889aec0-6a1f-4a31-aca3-baa3803f6e6d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_c9f96dac-a074-43b2-aedb-f11d252653be" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_4889aec0-6a1f-4a31-aca3-baa3803f6e6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_8ad85f52-188a-48aa-a0ae-d1c134551112" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_4889aec0-6a1f-4a31-aca3-baa3803f6e6d" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_8ad85f52-188a-48aa-a0ae-d1c134551112" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_12992f05-8660-44c1-88db-7c80f9d686de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_8ad85f52-188a-48aa-a0ae-d1c134551112" xlink:to="loc_us-gaap_AccountsPayableCurrent_12992f05-8660-44c1-88db-7c80f9d686de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_d7651a76-ca08-4fce-b19b-f60ff1c4cb2a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_8ad85f52-188a-48aa-a0ae-d1c134551112" xlink:to="loc_us-gaap_LongTermDebtCurrent_d7651a76-ca08-4fce-b19b-f60ff1c4cb2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_5480debc-bd5d-4979-9f6d-8e2643a82015" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_8ad85f52-188a-48aa-a0ae-d1c134551112" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_5480debc-bd5d-4979-9f6d-8e2643a82015" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedVacationCurrent_1c4f7502-6bfa-4169-8347-5c635f2ca240" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedVacationCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_8ad85f52-188a-48aa-a0ae-d1c134551112" xlink:to="loc_us-gaap_AccruedVacationCurrent_1c4f7502-6bfa-4169-8347-5c635f2ca240" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_c418a9c1-5ce6-433c-80c9-f7f6a2775171" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_8ad85f52-188a-48aa-a0ae-d1c134551112" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_c418a9c1-5ce6-433c-80c9-f7f6a2775171" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_68ed9f69-745d-442d-a6a9-7545bc50e70f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_8ad85f52-188a-48aa-a0ae-d1c134551112" xlink:to="loc_us-gaap_LiabilitiesCurrent_68ed9f69-745d-442d-a6a9-7545bc50e70f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_7d38832b-9a80-49cd-90cd-72de8905bd93" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_4889aec0-6a1f-4a31-aca3-baa3803f6e6d" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_7d38832b-9a80-49cd-90cd-72de8905bd93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_0079bbd3-8833-4ef4-8ab0-39642196c34e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_4889aec0-6a1f-4a31-aca3-baa3803f6e6d" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_0079bbd3-8833-4ef4-8ab0-39642196c34e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_daf9eaeb-e3c3-412b-b0cc-6ca14c474525" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_4889aec0-6a1f-4a31-aca3-baa3803f6e6d" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_daf9eaeb-e3c3-412b-b0cc-6ca14c474525" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_c6e01bb5-5731-40da-9878-2f990827080f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_4889aec0-6a1f-4a31-aca3-baa3803f6e6d" xlink:to="loc_us-gaap_Liabilities_c6e01bb5-5731-40da-9878-2f990827080f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_655af3b0-17b6-4df4-a1b8-02ac62af268e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_4889aec0-6a1f-4a31-aca3-baa3803f6e6d" xlink:to="loc_us-gaap_StockholdersEquityAbstract_655af3b0-17b6-4df4-a1b8-02ac62af268e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_aeef6d16-514a-4313-b4a4-bcb4d8892e49" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_655af3b0-17b6-4df4-a1b8-02ac62af268e" xlink:to="loc_us-gaap_CommonStockValue_aeef6d16-514a-4313-b4a4-bcb4d8892e49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_1b23dce6-d38f-42a1-8d3a-f5fe4cda94b1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_655af3b0-17b6-4df4-a1b8-02ac62af268e" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_1b23dce6-d38f-42a1-8d3a-f5fe4cda94b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_be06c0be-d8f2-455d-b725-80691c803d70" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_655af3b0-17b6-4df4-a1b8-02ac62af268e" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_be06c0be-d8f2-455d-b725-80691c803d70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_6b64877f-ede6-49c7-a1f1-ca7a8518495b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_655af3b0-17b6-4df4-a1b8-02ac62af268e" xlink:to="loc_us-gaap_TreasuryStockValue_6b64877f-ede6-49c7-a1f1-ca7a8518495b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_e5c9b85f-caa8-4662-8b7f-e51d59d23197" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_655af3b0-17b6-4df4-a1b8-02ac62af268e" xlink:to="loc_us-gaap_StockholdersEquity_e5c9b85f-caa8-4662-8b7f-e51d59d23197" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_19229c33-f09c-460c-a946-5eb6102a1dde" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_c9f96dac-a074-43b2-aedb-f11d252653be" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_19229c33-f09c-460c-a946-5eb6102a1dde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ConsolidatedBalanceSheetsParenthetical"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_878a23e0-5683-47e8-8aef-400af5a0f2f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_8202007d-89bb-4d9d-a272-40e4cf1354de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_878a23e0-5683-47e8-8aef-400af5a0f2f9" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_8202007d-89bb-4d9d-a272-40e4cf1354de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_7edb027f-3a2d-48a4-9bf8-41f7b73af01a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_878a23e0-5683-47e8-8aef-400af5a0f2f9" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_7edb027f-3a2d-48a4-9bf8-41f7b73af01a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_699260fa-0ed6-4b5b-aeb7-011380b364ec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_878a23e0-5683-47e8-8aef-400af5a0f2f9" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_699260fa-0ed6-4b5b-aeb7-011380b364ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_f88e87b9-f26f-49ef-a904-4f2d9259729e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_878a23e0-5683-47e8-8aef-400af5a0f2f9" xlink:to="loc_us-gaap_CommonStockSharesIssued_f88e87b9-f26f-49ef-a904-4f2d9259729e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_10700271-3e5f-4b94-ad0c-dc07df962f1f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_878a23e0-5683-47e8-8aef-400af5a0f2f9" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_10700271-3e5f-4b94-ad0c-dc07df962f1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares_754e2059-9512-494d-9d31-483caa4f7696" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_878a23e0-5683-47e8-8aef-400af5a0f2f9" xlink:to="loc_us-gaap_TreasuryStockShares_754e2059-9512-494d-9d31-483caa4f7696" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ConsolidatedStatementsofOperations"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/ConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_36b5d597-f9b8-4ef6-8663-fed6a1b3ede0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_ec97384b-2128-414f-92ac-317c1439f113" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_36b5d597-f9b8-4ef6-8663-fed6a1b3ede0" xlink:to="loc_us-gaap_StatementTable_ec97384b-2128-414f-92ac-317c1439f113" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_618e7ced-d693-4898-b403-9ea0f0de20ac" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_ec97384b-2128-414f-92ac-317c1439f113" xlink:to="loc_srt_ProductOrServiceAxis_618e7ced-d693-4898-b403-9ea0f0de20ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_a6bc29fb-51a3-4318-a93b-6319790a597d" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_618e7ced-d693-4898-b403-9ea0f0de20ac" xlink:to="loc_srt_ProductsAndServicesDomain_a6bc29fb-51a3-4318-a93b-6319790a597d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember_8360a785-19b8-4999-b3c6-19502a1449de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_a6bc29fb-51a3-4318-a93b-6319790a597d" xlink:to="loc_us-gaap_ProductMember_8360a785-19b8-4999-b3c6-19502a1449de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ServiceMember_5a98cfe1-8019-40fd-be58-8729606ea7f0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ServiceMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_a6bc29fb-51a3-4318-a93b-6319790a597d" xlink:to="loc_us-gaap_ServiceMember_5a98cfe1-8019-40fd-be58-8729606ea7f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_ec97384b-2128-414f-92ac-317c1439f113" xlink:to="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesAbstract_0270517e-7b3e-4a5b-8e59-1c5528ea00d9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenuesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_RevenuesAbstract_0270517e-7b3e-4a5b-8e59-1c5528ea00d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_7366e3dd-c6f0-4d0d-b43e-b0a262333475" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenuesAbstract_0270517e-7b3e-4a5b-8e59-1c5528ea00d9" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_7366e3dd-c6f0-4d0d-b43e-b0a262333475" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSoldAbstract_e39e6e1a-25d7-4385-8827-9229c99451c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSoldAbstract_e39e6e1a-25d7-4385-8827-9229c99451c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_1027cc59-6988-4944-9f87-9b1f741967dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSoldAbstract_e39e6e1a-25d7-4385-8827-9229c99451c2" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_1027cc59-6988-4944-9f87-9b1f741967dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_03a093db-d545-492b-bd9c-d4264f7232aa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_GrossProfit_03a093db-d545-492b-bd9c-d4264f7232aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_125f5d34-0bd9-4577-bbbb-e10edb0d73a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_125f5d34-0bd9-4577-bbbb-e10edb0d73a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_1861f455-44fd-4c38-8b9a-eb9690413c04" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:to="loc_us-gaap_SellingAndMarketingExpense_1861f455-44fd-4c38-8b9a-eb9690413c04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_ad60b244-075b-4cac-98b5-c8733eadea19" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_ad60b244-075b-4cac-98b5-c8733eadea19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_d79f931f-3ce0-425f-81f5-f6a2f5126852" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_d79f931f-3ce0-425f-81f5-f6a2f5126852" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_e7c94449-2220-415e-87e5-7fd3a078b89f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_ef2d23ce-476e-48c4-827d-f3487398526e" xlink:to="loc_us-gaap_OperatingExpenses_e7c94449-2220-415e-87e5-7fd3a078b89f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_c253814d-2927-4174-b90d-364050941d7e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_OperatingIncomeLoss_c253814d-2927-4174-b90d-364050941d7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncome_c5dd03a2-0779-4aac-8586-bac88f81769e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncome"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:to="loc_us-gaap_OtherNonoperatingIncome_c5dd03a2-0779-4aac-8586-bac88f81769e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_e9b6a72e-87e1-48dc-851b-2f3b076f3dc6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_e9b6a72e-87e1-48dc-851b-2f3b076f3dc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_0b94f375-00c8-4477-a95d-ffcc47cb6aec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_0b94f375-00c8-4477-a95d-ffcc47cb6aec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_6e9d19bc-c41b-4780-844e-61fd06d60820" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:to="loc_us-gaap_InterestExpense_6e9d19bc-c41b-4780-844e-61fd06d60820" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_ca27726a-a91d-4de2-b66c-aa2abe9004de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_1f18a423-3309-47dc-9bb7-89716f3324d6" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_ca27726a-a91d-4de2-b66c-aa2abe9004de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_85c5dc63-769c-47be-a7c0-be97b272099d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_85c5dc63-769c-47be-a7c0-be97b272099d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_4f3be059-157b-490e-9c3e-0fb41dbbb2e6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_4f3be059-157b-490e-9c3e-0fb41dbbb2e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_8848ae11-38fb-44c0-a9ca-aba36e56c4af" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_NetIncomeLoss_8848ae11-38fb-44c0-a9ca-aba36e56c4af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_1e6f7e18-dad3-4c04-a92c-9335f8b77714" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_EarningsPerShareBasic_1e6f7e18-dad3-4c04-a92c-9335f8b77714" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_78aeb279-ac2d-4b88-85d8-f7b0098e2f55" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_EarningsPerShareDiluted_78aeb279-ac2d-4b88-85d8-f7b0098e2f55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_2235d381-1eca-4c20-9a4d-c69629b970fa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_eefabad8-38fb-47a9-828a-13d9edf49a90" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_2235d381-1eca-4c20-9a4d-c69629b970fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_d8376a0c-6c15-47e6-affc-f74200b215a6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_2235d381-1eca-4c20-9a4d-c69629b970fa" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_d8376a0c-6c15-47e6-affc-f74200b215a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_12203684-d755-4719-98d4-f12633274938" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_2235d381-1eca-4c20-9a4d-c69629b970fa" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_12203684-d755-4719-98d4-f12633274938" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ConsolidatedStatementsofStockholdersEquity"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_56740aea-ea62-4896-961e-7b2e938df8a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_d95c12b2-92df-40b2-882a-0e78589392a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_56740aea-ea62-4896-961e-7b2e938df8a8" xlink:to="loc_us-gaap_StatementTable_d95c12b2-92df-40b2-882a-0e78589392a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_d285fea5-8eb5-42aa-a737-41392b9fd98b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_d95c12b2-92df-40b2-882a-0e78589392a1" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_d285fea5-8eb5-42aa-a737-41392b9fd98b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_d285fea5-8eb5-42aa-a737-41392b9fd98b" xlink:to="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_bf9c19c8-b552-4492-a634-a7eebff37767" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:to="loc_us-gaap_CommonStockMember_bf9c19c8-b552-4492-a634-a7eebff37767" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_5a9a00f5-4e16-43d0-aafc-cffe042d22e1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_5a9a00f5-4e16-43d0-aafc-cffe042d22e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_0edb866e-c766-42c3-91dd-5bc16cebca02" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:to="loc_us-gaap_RetainedEarningsMember_0edb866e-c766-42c3-91dd-5bc16cebca02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember_9c56c890-b3ec-4331-bf29-17725ef9ecfb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_be2497ed-3c0e-40f6-86d1-1694149dcdde" xlink:to="loc_us-gaap_TreasuryStockMember_9c56c890-b3ec-4331-bf29-17725ef9ecfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_4f49cd35-a349-492e-9f0f-ee29cf3cc20d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_d95c12b2-92df-40b2-882a-0e78589392a1" xlink:to="loc_us-gaap_StatementLineItems_4f49cd35-a349-492e-9f0f-ee29cf3cc20d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_4f49cd35-a349-492e-9f0f-ee29cf3cc20d" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_8db50305-229c-40d4-84e7-4b94a8824316" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesIssued"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_SharesIssued_8db50305-229c-40d4-84e7-4b94a8824316" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_29616d56-6b57-40e8-8dd6-928d19881d81" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockholdersEquity_29616d56-6b57-40e8-8dd6-928d19881d81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_9eb76238-2502-4638-bae1-817d07c6cc31" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_NetIncomeLoss_9eb76238-2502-4638-bae1-817d07c6cc31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_8d70a13c-dcb3-47fa-92d4-746d1efd67f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_8d70a13c-dcb3-47fa-92d4-746d1efd67f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_9ad22ab2-3dc1-465a-aded-cb93d6cd4cb3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_9ad22ab2-3dc1-465a-aded-cb93d6cd4cb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_3346dacc-a077-43ad-8641-af9fe56065ec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_3346dacc-a077-43ad-8641-af9fe56065ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_1296525a-dcc3-4d50-9953-d3ada5db3da4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_1296525a-dcc3-4d50-9953-d3ada5db3da4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited_3f73a522-78d2-4c27-b601-f825e7e065ec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited_3f73a522-78d2-4c27-b601-f825e7e065ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_285c51a0-c7e8-45b3-903d-c7d63fa4839a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_285c51a0-c7e8-45b3-903d-c7d63fa4839a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_651c1776-3602-4fcb-8d2b-f80a27386aca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_651c1776-3602-4fcb-8d2b-f80a27386aca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Dividends_1726ebc9-2391-429d-b5f1-3f12e0cfc98e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Dividends"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_Dividends_1726ebc9-2391-429d-b5f1-3f12e0cfc98e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_0c01bae2-c53c-42eb-b7f8-11c28c17ce6d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesIssued"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_SharesIssued_0c01bae2-c53c-42eb-b7f8-11c28c17ce6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_d9eea0f7-d436-4dfb-9535-8fc5c671be13" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_53ea3aa4-4374-4132-b681-a67c4508451b" xlink:to="loc_us-gaap_StockholdersEquity_d9eea0f7-d436-4dfb-9535-8fc5c671be13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_b7f7cb38-27b2-4020-9a2e-e5d68e42e18f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_0cc07ca9-cfe4-4258-8ca2-af3128a27059" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b7f7cb38-27b2-4020-9a2e-e5d68e42e18f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_0cc07ca9-cfe4-4258-8ca2-af3128a27059" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_eab9cc79-8bbb-4ce3-b943-b242b2c4529d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_0cc07ca9-cfe4-4258-8ca2-af3128a27059" xlink:to="loc_us-gaap_NetIncomeLoss_eab9cc79-8bbb-4ce3-b943-b242b2c4529d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_0cc07ca9-cfe4-4258-8ca2-af3128a27059" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_559463e8-1217-43b3-a681-900ccf7d65d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_559463e8-1217-43b3-a681-900ccf7d65d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_adc9457f-eace-4504-ba92-2f684d4a62da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_adc9457f-eace-4504-ba92-2f684d4a62da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_0b05d919-baaf-4b31-8c12-2e2f1e072b8b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:to="loc_us-gaap_ShareBasedCompensation_0b05d919-baaf-4b31-8c12-2e2f1e072b8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_6551582b-3d7d-4785-b34e-ad07cb7664f7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:to="loc_us-gaap_Depreciation_6551582b-3d7d-4785-b34e-ad07cb7664f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_13e5f402-ae02-46e2-b42a-864bd7b26697" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_13e5f402-ae02-46e2-b42a-864bd7b26697" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAmortization1_ec0400c1-cd4f-4dff-ad59-99e768c51e32" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAmortization1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAmortization1_ec0400c1-cd4f-4dff-ad59-99e768c51e32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCosts_68721eb5-a515-4e85-a725-842e051f6791" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfFinancingCosts"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:to="loc_us-gaap_AmortizationOfFinancingCosts_68721eb5-a515-4e85-a725-842e051f6791" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_52f1e2a3-9e7b-41f4-b5e2-271bdc816d0f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_52f1e2a3-9e7b-41f4-b5e2-271bdc816d0f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_1e91bf56-1948-41d5-8b54-6f76c36baab2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_1e91bf56-1948-41d5-8b54-6f76c36baab2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_678e8356-542f-4f2f-8d9d-8234d744e590" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_7eedbff7-1a44-47ee-8df4-5fc2c9a506dc" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_678e8356-542f-4f2f-8d9d-8234d744e590" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4b7fd75f-f1a5-46b9-a37c-addf89bd9747" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_0cc07ca9-cfe4-4258-8ca2-af3128a27059" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4b7fd75f-f1a5-46b9-a37c-addf89bd9747" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_8c6c7c07-9bf4-4fba-89de-cc943d90d9ef" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4b7fd75f-f1a5-46b9-a37c-addf89bd9747" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_8c6c7c07-9bf4-4fba-89de-cc943d90d9ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInFinanceReceivables_fd0c2b30-d236-45ec-885d-e04f24c589cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInFinanceReceivables"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4b7fd75f-f1a5-46b9-a37c-addf89bd9747" xlink:to="loc_us-gaap_IncreaseDecreaseInFinanceReceivables_fd0c2b30-d236-45ec-885d-e04f24c589cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_4e908480-b38b-4ac9-8c6e-adf0624262aa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4b7fd75f-f1a5-46b9-a37c-addf89bd9747" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_4e908480-b38b-4ac9-8c6e-adf0624262aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_60a1c0b0-e1ca-4dcb-b2c3-78f7839b58b6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4b7fd75f-f1a5-46b9-a37c-addf89bd9747" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_60a1c0b0-e1ca-4dcb-b2c3-78f7839b58b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_2adc48ef-f477-4024-9b29-f17ad1bdacc8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4b7fd75f-f1a5-46b9-a37c-addf89bd9747" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_2adc48ef-f477-4024-9b29-f17ad1bdacc8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_89eeef08-9ada-47a1-95cc-f2bc6dc55ee5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4b7fd75f-f1a5-46b9-a37c-addf89bd9747" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_89eeef08-9ada-47a1-95cc-f2bc6dc55ee5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_238d4375-b5d3-4332-be57-2597b19dfe85" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4b7fd75f-f1a5-46b9-a37c-addf89bd9747" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_238d4375-b5d3-4332-be57-2597b19dfe85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_4405f55c-141d-4506-a117-2177069bf3e3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4b7fd75f-f1a5-46b9-a37c-addf89bd9747" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_4405f55c-141d-4506-a117-2177069bf3e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_68b0dcea-1a3c-4037-9ef3-4413f63867de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_0cc07ca9-cfe4-4258-8ca2-af3128a27059" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_68b0dcea-1a3c-4037-9ef3-4413f63867de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_a795558c-8770-4cc1-8ce2-d27427f5c814" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b7f7cb38-27b2-4020-9a2e-e5d68e42e18f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_a795558c-8770-4cc1-8ce2-d27427f5c814" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_a6d05de8-358a-4114-a15d-7189a1f483ab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_a795558c-8770-4cc1-8ce2-d27427f5c814" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_a6d05de8-358a-4114-a15d-7189a1f483ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_b1b7672f-0132-4f02-bb90-2aa8fd2b3dc7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_a795558c-8770-4cc1-8ce2-d27427f5c814" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_b1b7672f-0132-4f02-bb90-2aa8fd2b3dc7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToDevelopSoftware_65693bc2-2cdc-4a42-a949-ae3a1affcd70" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToDevelopSoftware"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_a795558c-8770-4cc1-8ce2-d27427f5c814" xlink:to="loc_us-gaap_PaymentsToDevelopSoftware_65693bc2-2cdc-4a42-a949-ae3a1affcd70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_f4e9863a-d278-4f0c-a208-b661bdab524b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_a795558c-8770-4cc1-8ce2-d27427f5c814" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_f4e9863a-d278-4f0c-a208-b661bdab524b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b7f7cb38-27b2-4020-9a2e-e5d68e42e18f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDividends_3a61eb53-7937-4b32-bfaf-b53d3bb81824" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDividends"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:to="loc_us-gaap_PaymentsOfDividends_3a61eb53-7937-4b32-bfaf-b53d3bb81824" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_dd1a1238-3ac9-42d2-942f-a25f7f4b5295" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_dd1a1238-3ac9-42d2-942f-a25f7f4b5295" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_baa395e1-73e4-41c2-aa8b-4a3896c876d7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_baa395e1-73e4-41c2-aa8b-4a3896c876d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_23edd022-f24f-449b-abb3-68fca87265d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_23edd022-f24f-449b-abb3-68fca87265d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLinesOfCredit_4b2571e0-e052-411d-90ec-b113ad19ef50" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfLinesOfCredit"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:to="loc_us-gaap_RepaymentsOfLinesOfCredit_4b2571e0-e052-411d-90ec-b113ad19ef50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfOtherDebt_1986e429-cb37-47b8-8fcf-949a4797d555" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfOtherDebt"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:to="loc_us-gaap_RepaymentsOfOtherDebt_1986e429-cb37-47b8-8fcf-949a4797d555" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PaymentsofContingentConsideration_b2592789-5607-4c10-b59c-38310aa05409" xlink:href="cpsi-20211231.xsd#cpsi_PaymentsofContingentConsideration"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:to="loc_cpsi_PaymentsofContingentConsideration_b2592789-5607-4c10-b59c-38310aa05409" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_e6348736-3440-4f16-907b-4261f331e0b4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_e6348736-3440-4f16-907b-4261f331e0b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_9a610395-bcb8-4c19-9ed5-6d828df332de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_9a610395-bcb8-4c19-9ed5-6d828df332de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_8754cd30-db8d-4d3f-8a7c-3a99e1cab57c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_719ba2cb-cd50-465e-a4aa-859ffc5cc8ab" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_8754cd30-db8d-4d3f-8a7c-3a99e1cab57c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_29069847-f48a-499f-8d49-8be0897556b4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b7f7cb38-27b2-4020-9a2e-e5d68e42e18f" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_29069847-f48a-499f-8d49-8be0897556b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_dcf9cb3c-9be0-441c-b2cf-8c2267f55616" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b7f7cb38-27b2-4020-9a2e-e5d68e42e18f" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_dcf9cb3c-9be0-441c-b2cf-8c2267f55616" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_8be0535a-3a3d-4dde-8551-d9b4540e4cd7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b7f7cb38-27b2-4020-9a2e-e5d68e42e18f" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_8be0535a-3a3d-4dde-8551-d9b4540e4cd7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract_c89124b2-cfe8-4214-b89e-c1974010108d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b7f7cb38-27b2-4020-9a2e-e5d68e42e18f" xlink:to="loc_us-gaap_SupplementalCashFlowInformationAbstract_c89124b2-cfe8-4214-b89e-c1974010108d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet_ec189e5b-81c4-472b-aa56-f7ff9b4a199c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestPaidNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_c89124b2-cfe8-4214-b89e-c1974010108d" xlink:to="loc_us-gaap_InterestPaidNet_ec189e5b-81c4-472b-aa56-f7ff9b4a199c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_b403a9d2-179c-47da-a768-937301097641" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_c89124b2-cfe8-4214-b89e-c1974010108d" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_b403a9d2-179c-47da-a768-937301097641" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_2e841bad-ab92-431a-ab24-56187eb0c82d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b7f7cb38-27b2-4020-9a2e-e5d68e42e18f" xlink:to="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_2e841bad-ab92-431a-ab24-56187eb0c82d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_WriteOffOfFullyDepreciatedAssets_12817f9b-85ef-4e66-b5ab-bdb04ca380bf" xlink:href="cpsi-20211231.xsd#cpsi_WriteOffOfFullyDepreciatedAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_2e841bad-ab92-431a-ab24-56187eb0c82d" xlink:to="loc_cpsi_WriteOffOfFullyDepreciatedAssets_12817f9b-85ef-4e66-b5ab-bdb04ca380bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/NatureofOperations" xlink:type="simple" xlink:href="cpsi-20211231.xsd#NatureofOperations"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/NatureofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_c7151141-dc5f-4a5e-8ec7-aee56ad821d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations_a1d99086-bb66-4f9b-86db-2628bdb7e1a5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NatureOfOperations"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_c7151141-dc5f-4a5e-8ec7-aee56ad821d0" xlink:to="loc_us-gaap_NatureOfOperations_a1d99086-bb66-4f9b-86db-2628bdb7e1a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPolicies" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SummaryofSignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_bca9ba59-396d-430e-8b59-afdd84d1b966" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_0e642333-aaa0-4d8d-88da-8fa5ed67e9d2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bca9ba59-396d-430e-8b59-afdd84d1b966" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_0e642333-aaa0-4d8d-88da-8fa5ed67e9d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SummaryofSignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConsolidationPolicyTextBlock_79ec7579-65ba-45b8-80c1-f8ce78858b38" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_ConsolidationPolicyTextBlock_79ec7579-65ba-45b8-80c1-f8ce78858b38" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock_d863e3d7-1401-4a24-8bba-43eec879a235" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock_d863e3d7-1401-4a24-8bba-43eec879a235" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsFiniteLivedPolicy_f313cad0-1481-4d67-84aa-528e5533a9a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_IntangibleAssetsFiniteLivedPolicy_f313cad0-1481-4d67-84aa-528e5533a9a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription_018889c8-e36d-4a26-8ee5-ce0790e953d4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_PriorPeriodReclassificationAdjustmentDescription_018889c8-e36d-4a26-8ee5-ce0790e953d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_84f66526-9bad-4537-9e03-1571cf7ddd2b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_84f66526-9bad-4537-9e03-1571cf7ddd2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancingReceivablesPolicyPolicyTextBlock_2dfd2772-5bf3-4e78-9351-542b249e64c7" xlink:href="cpsi-20211231.xsd#cpsi_FinancingReceivablesPolicyPolicyTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_cpsi_FinancingReceivablesPolicyPolicyTextBlock_2dfd2772-5bf3-4e78-9351-542b249e64c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryPolicyTextBlock_772a0907-1852-475d-9477-1f2550319c4c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_InventoryPolicyTextBlock_772a0907-1852-475d-9477-1f2550319c4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_dc785d92-fa0d-45bd-be43-52d4a19340e4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_dc785d92-fa0d-45bd-be43-52d4a19340e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsPolicy_a8fef43e-0f9d-4915-8eba-caa9045251f8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationsPolicy"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_BusinessCombinationsPolicy_a8fef43e-0f9d-4915-8eba-caa9045251f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_97cc313f-0bbc-4cda-ae3c-d7dedd511403" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_97cc313f-0bbc-4cda-ae3c-d7dedd511403" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_a6820d7b-00b8-464a-8c78-0fd5ac1bf6e7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_a6820d7b-00b8-464a-8c78-0fd5ac1bf6e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_0ae0f2de-62ea-4552-b498-0362d074915e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_0ae0f2de-62ea-4552-b498-0362d074915e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationRelatedCostsPolicyTextBlock_a15b67fc-ad94-466b-8ce4-ce99c3a89cff" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_CompensationRelatedCostsPolicyTextBlock_a15b67fc-ad94-466b-8ce4-ce99c3a89cff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock_eedcd133-7ad2-4902-9f9b-1a89fd7c7cc9" xlink:href="cpsi-20211231.xsd#cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock_eedcd133-7ad2-4902-9f9b-1a89fd7c7cc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock_edd3108e-7356-43a8-92a1-a45afb6f5ef7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_IncomeTaxPolicyTextBlock_edd3108e-7356-43a8-92a1-a45afb6f5ef7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates_7b809bd6-300e-4cd9-8e4f-ebb1f290fd67" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UseOfEstimates"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_UseOfEstimates_7b809bd6-300e-4cd9-8e4f-ebb1f290fd67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_2c79f99e-75cc-42d5-8edb-04b8d441b148" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_2c79f99e-75cc-42d5-8edb-04b8d441b148" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_fe9e844c-7079-4843-b0a8-f5705aebd883" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_fe9e844c-7079-4843-b0a8-f5705aebd883" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_381eb37d-334d-4d40-9154-611c53acc772" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_EarningsPerSharePolicyTextBlock_381eb37d-334d-4d40-9154-611c53acc772" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_fc8f9cf8-e6fe-4dba-b657-07e65c5780ee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3f151093-0c96-4dc3-b456-fe683ad21e40" xlink:to="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_fc8f9cf8-e6fe-4dba-b657-07e65c5780ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SummaryofSignificantAccountingPoliciesTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_a6e3dde1-09f8-486b-9da5-bcdfa53dc935" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_f69f3724-ca32-4e7b-afaa-55192159bb7e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_a6e3dde1-09f8-486b-9da5-bcdfa53dc935" xlink:to="loc_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_f69f3724-ca32-4e7b-afaa-55192159bb7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_401f8901-4eee-4d24-83a5-e8ad7f7ec38b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_a6e3dde1-09f8-486b-9da5-bcdfa53dc935" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_401f8901-4eee-4d24-83a5-e8ad7f7ec38b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTableTextBlock_a53374f9-3f34-48be-95c7-c19deef9fcfb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedContractCostTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_a6e3dde1-09f8-486b-9da5-bcdfa53dc935" xlink:to="loc_us-gaap_CapitalizedContractCostTableTextBlock_a53374f9-3f34-48be-95c7-c19deef9fcfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_2d5a42cd-07da-4e1f-8b06-aafdd2eacbd6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_2d5a42cd-07da-4e1f-8b06-aafdd2eacbd6" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_95bb6793-b0b5-43d9-8fb2-ddde6acee49e" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_srt_RangeAxis_95bb6793-b0b5-43d9-8fb2-ddde6acee49e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_d785fba0-862a-46e6-922f-8621a5c3af14" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_95bb6793-b0b5-43d9-8fb2-ddde6acee49e" xlink:to="loc_srt_RangeMember_d785fba0-862a-46e6-922f-8621a5c3af14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_e25d8b75-4380-4758-938e-b8f404d189ad" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_d785fba0-862a-46e6-922f-8621a5c3af14" xlink:to="loc_srt_MinimumMember_e25d8b75-4380-4758-938e-b8f404d189ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b01fe726-7f49-4c37-bd38-ba9bb5342f7f" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_d785fba0-862a-46e6-922f-8621a5c3af14" xlink:to="loc_srt_MaximumMember_b01fe726-7f49-4c37-bd38-ba9bb5342f7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_14e48beb-b5bf-405e-be02-ac6711e09c65" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_srt_ConsolidationItemsAxis_14e48beb-b5bf-405e-be02-ac6711e09c65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_e0a49d3f-ea9e-4ed8-861b-d4891ecd36b4" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_14e48beb-b5bf-405e-be02-ac6711e09c65" xlink:to="loc_srt_ConsolidationItemsDomain_e0a49d3f-ea9e-4ed8-861b-d4891ecd36b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_e5a5f50f-0f38-4d25-a6aa-f1027c8374c8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_e0a49d3f-ea9e-4ed8-861b-d4891ecd36b4" xlink:to="loc_us-gaap_OperatingSegmentsMember_e5a5f50f-0f38-4d25-a6aa-f1027c8374c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_489703c9-ecf7-4a94-9dfd-134426a46348" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_489703c9-ecf7-4a94-9dfd-134426a46348" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_fc8c5e03-c131-46dd-97cf-c0c4d0ec21b7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_489703c9-ecf7-4a94-9dfd-134426a46348" xlink:to="loc_us-gaap_SegmentDomain_fc8c5e03-c131-46dd-97cf-c0c4d0ec21b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PostAcuteCareMember_ab17a861-d7f1-4118-8a94-3f83cb2eccea" xlink:href="cpsi-20211231.xsd#cpsi_PostAcuteCareMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_fc8c5e03-c131-46dd-97cf-c0c4d0ec21b7" xlink:to="loc_cpsi_PostAcuteCareMember_ab17a861-d7f1-4118-8a94-3f83cb2eccea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a0b85972-f96d-4944-a342-9ae37d7c65d9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a0b85972-f96d-4944-a342-9ae37d7c65d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3cabfb2f-708e-4664-bb0f-063d80709909" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a0b85972-f96d-4944-a342-9ae37d7c65d9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3cabfb2f-708e-4664-bb0f-063d80709909" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_043f8379-8364-49c6-9139-a55ff84ed4b1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3cabfb2f-708e-4664-bb0f-063d80709909" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_043f8379-8364-49c6-9139-a55ff84ed4b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_52bc5c67-b733-4eec-98f4-713073b5329d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3cabfb2f-708e-4664-bb0f-063d80709909" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_52bc5c67-b733-4eec-98f4-713073b5329d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementAxis_7707f0af-266b-43dd-ab53-16fa19020322" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_srt_RestatementAxis_7707f0af-266b-43dd-ab53-16fa19020322" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementDomain_636c86e6-f68d-4da0-bf04-241442edb037" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RestatementAxis_7707f0af-266b-43dd-ab53-16fa19020322" xlink:to="loc_srt_RestatementDomain_636c86e6-f68d-4da0-bf04-241442edb037" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioPreviouslyReportedMember_ac895c8d-b03a-48be-8e22-7d0eeebe9965" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioPreviouslyReportedMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RestatementDomain_636c86e6-f68d-4da0-bf04-241442edb037" xlink:to="loc_srt_ScenarioPreviouslyReportedMember_ac895c8d-b03a-48be-8e22-7d0eeebe9965" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember_57fd61c1-dee2-4c88-be33-252e9fc36ea1" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RestatementDomain_636c86e6-f68d-4da0-bf04-241442edb037" xlink:to="loc_srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember_57fd61c1-dee2-4c88-be33-252e9fc36ea1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_86cf57a5-7c61-4ff5-857e-1b51949066d7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_86cf57a5-7c61-4ff5-857e-1b51949066d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_4a34f079-34da-49e0-a51f-904cc18214dd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ChangeInAccountingEstimateByTypeAxis_86cf57a5-7c61-4ff5-857e-1b51949066d7" xlink:to="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_4a34f079-34da-49e0-a51f-904cc18214dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsAmortizationPeriodMember_40805af2-c7b0-4422-84c3-00127a5756d1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsAmortizationPeriodMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ChangeInAccountingEstimateTypeDomain_4a34f079-34da-49e0-a51f-904cc18214dd" xlink:to="loc_us-gaap_IntangibleAssetsAmortizationPeriodMember_40805af2-c7b0-4422-84c3-00127a5756d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_871424bf-cee6-41ac-9b42-54042d5e83d4" xlink:to="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_5d255ff3-e665-4486-a94c-fc00afe28f6f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_5d255ff3-e665-4486-a94c-fc00afe28f6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_b9a0ab9f-4a0b-44a5-b2c9-35c9613e0d6c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_b9a0ab9f-4a0b-44a5-b2c9-35c9613e0d6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_616d1f61-d511-4b53-a5ec-b6cd5f983f17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_NetIncomeLoss_616d1f61-d511-4b53-a5ec-b6cd5f983f17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_9d7eae21-bdb8-4201-8ce7-50a9541e76ba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_EarningsPerShareBasic_9d7eae21-bdb8-4201-8ce7-50a9541e76ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_43c83044-7a13-46ae-8e41-9389669eb012" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_EarningsPerShareDiluted_43c83044-7a13-46ae-8e41-9389669eb012" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_RevenuePerformanceObligationDescriptionOfTiming1_6864ffd0-1dfb-434d-ad1c-a1c349c085b5" xlink:href="cpsi-20211231.xsd#cpsi_RevenuePerformanceObligationDescriptionOfTiming1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_cpsi_RevenuePerformanceObligationDescriptionOfTiming1_6864ffd0-1dfb-434d-ad1c-a1c349c085b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss_8e6dc8b0-48ab-4c30-843a-b8fb24a092bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_GoodwillImpairmentLoss_8e6dc8b0-48ab-4c30-843a-b8fb24a092bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_130a6c02-7d1c-473e-afe9-0382d4e4b824" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_130a6c02-7d1c-473e-afe9-0382d4e4b824" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_8b487b68-6813-46a1-ac28-b2047628d1e2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_8b487b68-6813-46a1-ac28-b2047628d1e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_bcd356f3-b674-44ae-8df8-c28a03bc596b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0877cc72-2a45-465c-a422-f1179ac6a6fa" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_bcd356f3-b674-44ae-8df8-c28a03bc596b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_9e5f75b7-dcc6-4278-a07e-1d27b3bbca64" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationTable_99fb8964-6562-451f-8577-479b4d266e8d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReclassificationTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9e5f75b7-dcc6-4278-a07e-1d27b3bbca64" xlink:to="loc_us-gaap_ReclassificationTable_99fb8964-6562-451f-8577-479b4d266e8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementAxis_7cfe7a14-6a6b-44e7-a049-98797dc42fae" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReclassificationTable_99fb8964-6562-451f-8577-479b4d266e8d" xlink:to="loc_srt_RestatementAxis_7cfe7a14-6a6b-44e7-a049-98797dc42fae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RestatementDomain_5bf098e5-2898-4cad-85bd-dad96b57fccb" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RestatementDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RestatementAxis_7cfe7a14-6a6b-44e7-a049-98797dc42fae" xlink:to="loc_srt_RestatementDomain_5bf098e5-2898-4cad-85bd-dad96b57fccb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioPreviouslyReportedMember_16ae13c5-120f-485e-9d1f-9d44cc6cb923" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioPreviouslyReportedMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RestatementDomain_5bf098e5-2898-4cad-85bd-dad96b57fccb" xlink:to="loc_srt_ScenarioPreviouslyReportedMember_16ae13c5-120f-485e-9d1f-9d44cc6cb923" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember_8a633524-6e5e-4c14-9936-2bc7ad304a08" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RevisionOfPriorPeriodReclassificationAdjustmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RestatementDomain_5bf098e5-2898-4cad-85bd-dad96b57fccb" xlink:to="loc_srt_RevisionOfPriorPeriodReclassificationAdjustmentMember_8a633524-6e5e-4c14-9936-2bc7ad304a08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReclassificationLineItems_b806bbbe-feb1-45ec-b9b2-af1b8e8512b4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReclassificationLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReclassificationTable_99fb8964-6562-451f-8577-479b4d266e8d" xlink:to="loc_us-gaap_ReclassificationLineItems_b806bbbe-feb1-45ec-b9b2-af1b8e8512b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingAndMarketingExpense_afd09834-35dc-478b-907d-806eeb9318a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReclassificationLineItems_b806bbbe-feb1-45ec-b9b2-af1b8e8512b4" xlink:to="loc_us-gaap_SellingAndMarketingExpense_afd09834-35dc-478b-907d-806eeb9318a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpense_30afc8b9-83b5-41eb-a44f-6fa33c691bc3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReclassificationLineItems_b806bbbe-feb1-45ec-b9b2-af1b8e8512b4" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpense_30afc8b9-83b5-41eb-a44f-6fa33c691bc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_0cd2ec83-1daa-406e-9922-2a8ad38bd9d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6e9b374f-46d7-40cf-9b11-1bc5e3b6f42f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_0cd2ec83-1daa-406e-9922-2a8ad38bd9d6" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6e9b374f-46d7-40cf-9b11-1bc5e3b6f42f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d7a55215-66c9-48cf-8b3f-d0b8dcf1fc77" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6e9b374f-46d7-40cf-9b11-1bc5e3b6f42f" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d7a55215-66c9-48cf-8b3f-d0b8dcf1fc77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d81f6041-3421-4701-8528-9c60aea6f92e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d7a55215-66c9-48cf-8b3f-d0b8dcf1fc77" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d81f6041-3421-4701-8528-9c60aea6f92e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_974fe770-6a60-4c28-bb1e-b0e9c2694595" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d81f6041-3421-4701-8528-9c60aea6f92e" xlink:to="loc_us-gaap_ComputerEquipmentMember_974fe770-6a60-4c28-bb1e-b0e9c2694595" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_f172a394-6bdb-4429-aa78-98173f7f7025" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d81f6041-3421-4701-8528-9c60aea6f92e" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_f172a394-6bdb-4429-aa78-98173f7f7025" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingMember_ae795eef-afb3-4112-bfd1-922d960cbbee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_d81f6041-3421-4701-8528-9c60aea6f92e" xlink:to="loc_us-gaap_BuildingMember_ae795eef-afb3-4112-bfd1-922d960cbbee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_e2f6de7e-529e-4b13-99f4-f6ae464e2008" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6e9b374f-46d7-40cf-9b11-1bc5e3b6f42f" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_e2f6de7e-529e-4b13-99f4-f6ae464e2008" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_f0c84f7c-935e-4deb-b125-d2f1af2f1445" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_e2f6de7e-529e-4b13-99f4-f6ae464e2008" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_f0c84f7c-935e-4deb-b125-d2f1af2f1445" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_a3e2887e-fc96-4920-951a-79ba9f865e89" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ChangeInContractWithCustomerLiabilityRollForward_b1e06539-b32d-483f-89d3-b0200ebed89f" xlink:href="cpsi-20211231.xsd#cpsi_ChangeInContractWithCustomerLiabilityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_a3e2887e-fc96-4920-951a-79ba9f865e89" xlink:to="loc_cpsi_ChangeInContractWithCustomerLiabilityRollForward_b1e06539-b32d-483f-89d3-b0200ebed89f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_c0718d44-5186-46b2-962a-72bca0749996" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_ChangeInContractWithCustomerLiabilityRollForward_b1e06539-b32d-483f-89d3-b0200ebed89f" xlink:to="loc_us-gaap_ContractWithCustomerLiability_c0718d44-5186-46b2-962a-72bca0749996" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease_ad8570c1-e9e2-4ab2-a5a4-71e3cf0f3361" xlink:href="cpsi-20211231.xsd#cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_ChangeInContractWithCustomerLiabilityRollForward_b1e06539-b32d-483f-89d3-b0200ebed89f" xlink:to="loc_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease_ad8570c1-e9e2-4ab2-a5a4-71e3cf0f3361" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_1e8f4489-ae0d-4f81-8bba-7b4c396e6bc1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_ChangeInContractWithCustomerLiabilityRollForward_b1e06539-b32d-483f-89d3-b0200ebed89f" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination_1e8f4489-ae0d-4f81-8bba-7b4c396e6bc1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_d21e098a-34c1-41d1-94e6-d827acb4ce31" xlink:href="cpsi-20211231.xsd#cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_ChangeInContractWithCustomerLiabilityRollForward_b1e06539-b32d-483f-89d3-b0200ebed89f" xlink:to="loc_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized_d21e098a-34c1-41d1-94e6-d827acb4ce31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_5cad4284-3bcc-4f45-a334-9852418aa151" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_ChangeInContractWithCustomerLiabilityRollForward_b1e06539-b32d-483f-89d3-b0200ebed89f" xlink:to="loc_us-gaap_ContractWithCustomerLiability_5cad4284-3bcc-4f45-a334-9852418aa151" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinCapitalizedContractCostDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SummaryofSignificantAccountingPoliciesChangesinCapitalizedContractCostDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinCapitalizedContractCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_a6297576-0dbb-40f0-aabc-fa1177dd1a30" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ChangeInCapitalizedContractCostRollForward_a96e30d3-1cb7-47c9-8ccb-17be5f590097" xlink:href="cpsi-20211231.xsd#cpsi_ChangeInCapitalizedContractCostRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_a6297576-0dbb-40f0-aabc-fa1177dd1a30" xlink:to="loc_cpsi_ChangeInCapitalizedContractCostRollForward_a96e30d3-1cb7-47c9-8ccb-17be5f590097" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNet_4f7c94b0-591c-4459-8e05-a31417c5cb48" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedContractCostNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_ChangeInCapitalizedContractCostRollForward_a96e30d3-1cb7-47c9-8ccb-17be5f590097" xlink:to="loc_us-gaap_CapitalizedContractCostNet_4f7c94b0-591c-4459-8e05-a31417c5cb48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_CostsToObtainAndFulfillContractsCapitalized_c550cbc6-70a7-435d-985e-5636856837cf" xlink:href="cpsi-20211231.xsd#cpsi_CostsToObtainAndFulfillContractsCapitalized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_ChangeInCapitalizedContractCostRollForward_a96e30d3-1cb7-47c9-8ccb-17be5f590097" xlink:to="loc_cpsi_CostsToObtainAndFulfillContractsCapitalized_c550cbc6-70a7-435d-985e-5636856837cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization_6ecbdddc-7c91-4b17-94c4-f18f09c468ce" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_ChangeInCapitalizedContractCostRollForward_a96e30d3-1cb7-47c9-8ccb-17be5f590097" xlink:to="loc_us-gaap_CapitalizedContractCostAmortization_6ecbdddc-7c91-4b17-94c4-f18f09c468ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNet_fe8b86df-5271-45d8-9272-1fa63c4d33f8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedContractCostNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_ChangeInCapitalizedContractCostRollForward_a96e30d3-1cb7-47c9-8ccb-17be5f590097" xlink:to="loc_us-gaap_CapitalizedContractCostNet_fe8b86df-5271-45d8-9272-1fa63c4d33f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BusinessCombination" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BusinessCombination"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/BusinessCombination" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_2bc3f720-80ee-4a97-bb99-853101cd4f90" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_9ef09aff-ab9b-4dc2-8ae1-617a21fe4b8a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_2bc3f720-80ee-4a97-bb99-853101cd4f90" xlink:to="loc_us-gaap_BusinessCombinationDisclosureTextBlock_9ef09aff-ab9b-4dc2-8ae1-617a21fe4b8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BusinessCombinationTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BusinessCombinationTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/BusinessCombinationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_b8921acb-e537-4b3b-8ffb-84e1e48bd3bb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_6379764c-48eb-4a62-aa15-78f77d058898" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_b8921acb-e537-4b3b-8ffb-84e1e48bd3bb" xlink:to="loc_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_6379764c-48eb-4a62-aa15-78f77d058898" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_04116350-fe56-44e7-b8be-562acfa56f1c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_b8921acb-e537-4b3b-8ffb-84e1e48bd3bb" xlink:to="loc_us-gaap_BusinessAcquisitionProFormaInformationTextBlock_04116350-fe56-44e7-b8be-562acfa56f1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BusinessCombinationNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_479b358d-990a-417b-a136-b53896c4667b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_23e05887-6526-4e47-a5a7-00c219a3c452" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_479b358d-990a-417b-a136-b53896c4667b" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_23e05887-6526-4e47-a5a7-00c219a3c452" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_2c08e6c7-e193-456a-b4fe-140f091701b8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_23e05887-6526-4e47-a5a7-00c219a3c452" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_2c08e6c7-e193-456a-b4fe-140f091701b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_86dbeeea-dcb8-4e52-b630-81d947271e11" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2c08e6c7-e193-456a-b4fe-140f091701b8" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_86dbeeea-dcb8-4e52-b630-81d947271e11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TruCodeLLCMember_aa3f7d09-7969-40fb-81f4-81915320fbfc" xlink:href="cpsi-20211231.xsd#cpsi_TruCodeLLCMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_86dbeeea-dcb8-4e52-b630-81d947271e11" xlink:to="loc_cpsi_TruCodeLLCMember_aa3f7d09-7969-40fb-81f4-81915320fbfc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_iNetXpertsCorpMember_9923a9a5-5fd1-42c7-b668-ff9b828068fd" xlink:href="cpsi-20211231.xsd#cpsi_iNetXpertsCorpMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_86dbeeea-dcb8-4e52-b630-81d947271e11" xlink:to="loc_cpsi_iNetXpertsCorpMember_9923a9a5-5fd1-42c7-b668-ff9b828068fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_23e05887-6526-4e47-a5a7-00c219a3c452" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_0767804a-2750-44b7-96d6-c04e12a4e305" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_0767804a-2750-44b7-96d6-c04e12a4e305" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh_fafb1039-ee93-4a6b-8a3e-870ff1676914" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh_fafb1039-ee93-4a6b-8a3e-870ff1676914" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_c3d74102-3807-43ae-9496-8c951b26e343" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_c3d74102-3807-43ae-9496-8c951b26e343" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_ab9368f2-513a-4df5-8da7-95ac7d8eb93c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_ab9368f2-513a-4df5-8da7-95ac7d8eb93c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_5fa4b2a1-9f7f-4edd-8ee0-1445259eef0c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual_5fa4b2a1-9f7f-4edd-8ee0-1445259eef0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual_0afed989-2575-4ca4-8588-16da1aa79bf7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_180f6dea-f54a-417c-b027-9f90d8b90817" xlink:to="loc_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual_0afed989-2575-4ca4-8588-16da1aa79bf7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_2532ccf9-7f11-4965-a87c-694ff89b294d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_37543b85-dc08-4cd8-aa0c-0638152e92b1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_2532ccf9-7f11-4965-a87c-694ff89b294d" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_37543b85-dc08-4cd8-aa0c-0638152e92b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_69fbdb81-ba5e-4ab4-8c8f-6ecf78dc74cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_37543b85-dc08-4cd8-aa0c-0638152e92b1" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_69fbdb81-ba5e-4ab4-8c8f-6ecf78dc74cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e71b7d8c-6111-4370-b730-82b43a336ca1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_69fbdb81-ba5e-4ab4-8c8f-6ecf78dc74cf" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e71b7d8c-6111-4370-b730-82b43a336ca1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TruCodeLLCMember_503e5217-0f0f-406e-8c23-12625d645991" xlink:href="cpsi-20211231.xsd#cpsi_TruCodeLLCMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e71b7d8c-6111-4370-b730-82b43a336ca1" xlink:to="loc_cpsi_TruCodeLLCMember_503e5217-0f0f-406e-8c23-12625d645991" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_iNetXpertsCorpMember_b70b0283-eb30-4dcd-a976-a6cd696709b8" xlink:href="cpsi-20211231.xsd#cpsi_iNetXpertsCorpMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e71b7d8c-6111-4370-b730-82b43a336ca1" xlink:to="loc_cpsi_iNetXpertsCorpMember_b70b0283-eb30-4dcd-a976-a6cd696709b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_37543b85-dc08-4cd8-aa0c-0638152e92b1" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_d6e94348-6001-44b7-8ae3-eddae517e287" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_d6e94348-6001-44b7-8ae3-eddae517e287" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_d8fd11ad-df7a-4b87-8c99-70cb21b0f9eb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_d8fd11ad-df7a-4b87-8c99-70cb21b0f9eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_0321e297-507e-4f07-92e9-c0b2d018c8ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_0321e297-507e-4f07-92e9-c0b2d018c8ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_e825a156-d94e-4c10-8c7c-46286671cb17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_e825a156-d94e-4c10-8c7c-46286671cb17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset_e5a4f03d-5d63-444f-aa71-a5987923fc99" xlink:href="cpsi-20211231.xsd#cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset_e5a4f03d-5d63-444f-aa71-a5987923fc99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_a9a33719-dc01-4bd5-9d49-7f08841bec3d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_a9a33719-dc01-4bd5-9d49-7f08841bec3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_20348f00-4896-41e6-b7d4-f755968a6e05" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_Goodwill_20348f00-4896-41e6-b7d4-f755968a6e05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_78b093d6-5bcb-4a85-be1f-c4c34ae60cb4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_78b093d6-5bcb-4a85-be1f-c4c34ae60cb4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_c902f955-f833-4e6a-baf0-a10bc4507bc3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_c902f955-f833-4e6a-baf0-a10bc4507bc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation_4867f00e-3f8b-4c23-9fa4-818381c7cdb0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation_4867f00e-3f8b-4c23-9fa4-818381c7cdb0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability_5cea1ba5-445b-4645-aaa6-5dc5f2084e76" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability_5cea1ba5-445b-4645-aaa6-5dc5f2084e76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability_3682c773-ad21-4d0e-a7ff-d992f8de8f3f" xlink:href="cpsi-20211231.xsd#cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability_3682c773-ad21-4d0e-a7ff-d992f8de8f3f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_7b78c62a-4a5f-4d67-8fc0-028207dc1f52" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_fb9e4147-bc2c-4993-91fa-72fb09624b72" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_7b78c62a-4a5f-4d67-8fc0-028207dc1f52" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BusinessCombinationProformainformationDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_cbaf2c30-2a28-436e-8081-aca09157a26b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_bbf12987-2d65-41ad-903f-e71f39c33c60" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_cbaf2c30-2a28-436e-8081-aca09157a26b" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_bbf12987-2d65-41ad-903f-e71f39c33c60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_fee4c41b-c43b-4675-bc38-9a7ff9f1a358" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_bbf12987-2d65-41ad-903f-e71f39c33c60" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_fee4c41b-c43b-4675-bc38-9a7ff9f1a358" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_70ac7d9a-8284-45bd-b6f8-809689ca5e8e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_fee4c41b-c43b-4675-bc38-9a7ff9f1a358" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_70ac7d9a-8284-45bd-b6f8-809689ca5e8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TruCodeLLCMember_e7f8b3ab-a934-4c82-841b-0b986e1f935c" xlink:href="cpsi-20211231.xsd#cpsi_TruCodeLLCMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_70ac7d9a-8284-45bd-b6f8-809689ca5e8e" xlink:to="loc_cpsi_TruCodeLLCMember_e7f8b3ab-a934-4c82-841b-0b986e1f935c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_3df9991c-8ac2-473c-b0b2-672a22a0e846" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_bbf12987-2d65-41ad-903f-e71f39c33c60" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_3df9991c-8ac2-473c-b0b2-672a22a0e846" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_cd1d904f-12f2-4884-b701-8965e49e8b92" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_3df9991c-8ac2-473c-b0b2-672a22a0e846" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaRevenue_cd1d904f-12f2-4884-b701-8965e49e8b92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_b94b8607-615c-4412-8d75-55497207c7e3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_3df9991c-8ac2-473c-b0b2-672a22a0e846" xlink:to="loc_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss_b94b8607-615c-4412-8d75-55497207c7e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted_1091d431-678f-4104-bd0c-197fbc8517c1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_3df9991c-8ac2-473c-b0b2-672a22a0e846" xlink:to="loc_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted_1091d431-678f-4104-bd0c-197fbc8517c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/PropertyandEquipment" xlink:type="simple" xlink:href="cpsi-20211231.xsd#PropertyandEquipment"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/PropertyandEquipment" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_b4a51b48-e891-4965-bf88-6d9ef863d0f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_74de2b96-bcf4-4d55-b383-1f6a00b5f711" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_b4a51b48-e891-4965-bf88-6d9ef863d0f3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_74de2b96-bcf4-4d55-b383-1f6a00b5f711" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/PropertyandEquipmentTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#PropertyandEquipmentTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/PropertyandEquipmentTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_8a4ebf29-4b89-4888-9e56-260458bce4a4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_0577b7ed-d33b-47d2-b8f8-acda2f22401b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_8a4ebf29-4b89-4888-9e56-260458bce4a4" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_0577b7ed-d33b-47d2-b8f8-acda2f22401b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/PropertyandEquipmentDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#PropertyandEquipmentDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/PropertyandEquipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_fc3d23f8-81e5-44ba-9031-bff264720c43" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_508c32ae-b5c2-4131-870b-26c518f5e8c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_fc3d23f8-81e5-44ba-9031-bff264720c43" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_508c32ae-b5c2-4131-870b-26c518f5e8c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_036147ff-d993-498f-b33b-d60a83af1387" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_508c32ae-b5c2-4131-870b-26c518f5e8c2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_036147ff-d993-498f-b33b-d60a83af1387" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_036147ff-d993-498f-b33b-d60a83af1387" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandMember_59fba653-f816-4ec2-8d93-c13710c8f3f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LandMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_LandMember_59fba653-f816-4ec2-8d93-c13710c8f3f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingAndBuildingImprovementsMember_1862bafc-01d4-4595-be41-1af303bec5c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_BuildingAndBuildingImprovementsMember_1862bafc-01d4-4595-be41-1af303bec5c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_8a80661b-d686-4f0d-a282-b854ffe74a23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_ComputerEquipmentMember_8a80661b-d686-4f0d-a282-b854ffe74a23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_7e8474cb-d3ea-4dc2-b474-e55051512125" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_7e8474cb-d3ea-4dc2-b474-e55051512125" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_f2cfcf10-023f-425b-892d-53c0ffaa4284" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_f2cfcf10-023f-425b-892d-53c0ffaa4284" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AutomobilesMember_f5f52b19-3fa0-4b6d-b578-1731c66ac09d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AutomobilesMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_04542417-badf-4c7a-a363-1f9b5232f67d" xlink:to="loc_us-gaap_AutomobilesMember_f5f52b19-3fa0-4b6d-b578-1731c66ac09d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_90b9e6b2-741b-415d-8456-a4cc08c1c5a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_508c32ae-b5c2-4131-870b-26c518f5e8c2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_90b9e6b2-741b-415d-8456-a4cc08c1c5a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_0c1b217e-c549-4f25-9049-8af18404407b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_90b9e6b2-741b-415d-8456-a4cc08c1c5a9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_0c1b217e-c549-4f25-9049-8af18404407b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_86167bb8-8463-4053-b889-486330a2bf5a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_90b9e6b2-741b-415d-8456-a4cc08c1c5a9" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_86167bb8-8463-4053-b889-486330a2bf5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_715b28e6-969e-4d96-994b-8a5fdf9d9c7a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_90b9e6b2-741b-415d-8456-a4cc08c1c5a9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_715b28e6-969e-4d96-994b-8a5fdf9d9c7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SoftwareDevelopment" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SoftwareDevelopment"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SoftwareDevelopment" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_59d9e297-acbb-4c8b-bafa-eb68e44371b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_f60b0ccd-7479-4775-98c6-c30477dd9674" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_59d9e297-acbb-4c8b-bafa-eb68e44371b2" xlink:to="loc_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_f60b0ccd-7479-4775-98c6-c30477dd9674" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SoftwareDevelopmentTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SoftwareDevelopmentTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SoftwareDevelopmentTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_d253cb23-3b50-4409-9ec5-3622db2ad563" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock_bab77e35-7efd-478e-9df5-663d00dbd0f8" xlink:href="cpsi-20211231.xsd#cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_d253cb23-3b50-4409-9ec5-3622db2ad563" xlink:to="loc_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock_bab77e35-7efd-478e-9df5-663d00dbd0f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SoftwareDevelopmentNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_897d19da-ed39-492e-b1e2-3707ebfbaa39" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_83fa641c-4754-4b33-a555-4611097f3b4b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_897d19da-ed39-492e-b1e2-3707ebfbaa39" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_83fa641c-4754-4b33-a555-4611097f3b4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_817096f4-d600-4617-b03c-4c6d00c53425" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_83fa641c-4754-4b33-a555-4611097f3b4b" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_817096f4-d600-4617-b03c-4c6d00c53425" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e153666c-9d4e-4cde-8419-fc20110ca23b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_817096f4-d600-4617-b03c-4c6d00c53425" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e153666c-9d4e-4cde-8419-fc20110ca23b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareDevelopmentMember_3a3c4028-9bac-4518-bcfd-d57204b6bb2d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SoftwareDevelopmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_e153666c-9d4e-4cde-8419-fc20110ca23b" xlink:to="loc_us-gaap_SoftwareDevelopmentMember_3a3c4028-9bac-4518-bcfd-d57204b6bb2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_83fa641c-4754-4b33-a555-4611097f3b4b" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_87eaffa0-92a7-4773-b5b1-925f8cfcebea" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_87eaffa0-92a7-4773-b5b1-925f8cfcebea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAdditions_aeac7fe8-fbea-4fa6-8513-27a48711304f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAdditions"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAdditions_aeac7fe8-fbea-4fa6-8513-27a48711304f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts_bfef9877-aeb5-479e-9c99-31506d27c3ef" xlink:href="cpsi-20211231.xsd#cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:to="loc_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts_bfef9877-aeb5-479e-9c99-31506d27c3ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_IncreaseDecreaseToProductDevelopmentCosts_a332fdc3-1d94-499c-bebb-c0ccb92f4a74" xlink:href="cpsi-20211231.xsd#cpsi_IncreaseDecreaseToProductDevelopmentCosts"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_38bd64d9-0ee1-48e2-b83e-cee6172a1bf0" xlink:to="loc_cpsi_IncreaseDecreaseToProductDevelopmentCosts_a332fdc3-1d94-499c-bebb-c0ccb92f4a74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentAbstract_cbc12e85-8068-42f0-b6ef-8afbd753ece6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareGross_cd6cb35b-f508-44c4-b4de-2225235a51ef" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_cbc12e85-8068-42f0-b6ef-8afbd753ece6" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareGross_cd6cb35b-f508-44c4-b4de-2225235a51ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_1330b53f-f308-48ff-9bd7-033b2662f9a4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_cbc12e85-8068-42f0-b6ef-8afbd753ece6" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization_1330b53f-f308-48ff-9bd7-033b2662f9a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedComputerSoftwareNet_f8651d5c-746f-4435-bfb1-6530205194fd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ResearchAndDevelopmentAbstract_cbc12e85-8068-42f0-b6ef-8afbd753ece6" xlink:to="loc_us-gaap_CapitalizedComputerSoftwareNet_f8651d5c-746f-4435-bfb1-6530205194fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OtherAccruedLiabilities" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OtherAccruedLiabilities"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/OtherAccruedLiabilities" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_35fa37b7-fdd1-47ae-b238-fb2d3fe2db85" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_c9c05ef6-2f56-49cc-87ed-27be160842c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_35fa37b7-fdd1-47ae-b238-fb2d3fe2db85" xlink:to="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_c9c05ef6-2f56-49cc-87ed-27be160842c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OtherAccruedLiabilitiesTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OtherAccruedLiabilitiesTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/OtherAccruedLiabilitiesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_b83a2096-7b5c-461a-8741-db5eb7fbfba5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_0198601d-349f-4cdd-ab9c-165c7d223c5a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_b83a2096-7b5c-461a-8741-db5eb7fbfba5" xlink:to="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_0198601d-349f-4cdd-ab9c-165c7d223c5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OtherAccruedLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_5c2c7de6-bd53-4be6-add8-aed09a27c6ad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalariesCurrent_754c0837-8018-4a91-98fa-61b426c2a4af" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalariesCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_5c2c7de6-bd53-4be6-add8-aed09a27c6ad" xlink:to="loc_us-gaap_AccruedSalariesCurrent_754c0837-8018-4a91-98fa-61b426c2a4af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AccruedSeveranceCurrent_6f6ad102-0bff-4687-b09c-1d8a82bfa04d" xlink:href="cpsi-20211231.xsd#cpsi_AccruedSeveranceCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_5c2c7de6-bd53-4be6-add8-aed09a27c6ad" xlink:to="loc_cpsi_AccruedSeveranceCurrent_6f6ad102-0bff-4687-b09c-1d8a82bfa04d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent_ded31647-698b-4f19-951f-e6612bfa28c7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_5c2c7de6-bd53-4be6-add8-aed09a27c6ad" xlink:to="loc_us-gaap_AccruedSalesCommissionCurrent_ded31647-698b-4f19-951f-e6612bfa28c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedInsuranceCurrent_fc7fdec5-abf6-4baf-9b3a-0c8171277a7f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedInsuranceCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_5c2c7de6-bd53-4be6-add8-aed09a27c6ad" xlink:to="loc_us-gaap_AccruedInsuranceCurrent_fc7fdec5-abf6-4baf-9b3a-0c8171277a7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_5c02a1f7-b869-40b2-8a0e-1df190d82354" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_5c2c7de6-bd53-4be6-add8-aed09a27c6ad" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_5c02a1f7-b869-40b2-8a0e-1df190d82354" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesCurrent_0de2e2d2-e808-411e-b26c-d5e54dec8d93" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_5c2c7de6-bd53-4be6-add8-aed09a27c6ad" xlink:to="loc_us-gaap_OtherLiabilitiesCurrent_0de2e2d2-e808-411e-b26c-d5e54dec8d93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_f0b5aba3-cdfa-4efa-abdb-ca3cd3cad512" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_5c2c7de6-bd53-4be6-add8-aed09a27c6ad" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_f0b5aba3-cdfa-4efa-abdb-ca3cd3cad512" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_50fb1ed5-2991-4a01-9c76-2f51689ea892" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_5c2c7de6-bd53-4be6-add8-aed09a27c6ad" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_50fb1ed5-2991-4a01-9c76-2f51689ea892" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/NetIncomePerShare" xlink:type="simple" xlink:href="cpsi-20211231.xsd#NetIncomePerShare"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/NetIncomePerShare" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_30c4d0b2-1c6b-4f03-b4bb-6f02f6cc2828" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_01ae1832-46fe-4834-aabd-30b4546f2b2b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_30c4d0b2-1c6b-4f03-b4bb-6f02f6cc2828" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_01ae1832-46fe-4834-aabd-30b4546f2b2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/NetIncomePerShareTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#NetIncomePerShareTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/NetIncomePerShareTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_a24d9d15-7826-4609-9fce-81a8b722bafe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_0c4c28de-4134-4a4d-b0c3-b06d7961a87b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_a24d9d15-7826-4609-9fce-81a8b722bafe" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_0c4c28de-4134-4a4d-b0c3-b06d7961a87b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/NetIncomePerShareDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#NetIncomePerShareDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/NetIncomePerShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_f607e416-3e3e-49ee-a49b-ed832f1fb5b1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAbstract_3fa93101-d45c-461d-8bd7-efdf567f7bcf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_f607e416-3e3e-49ee-a49b-ed832f1fb5b1" xlink:to="loc_us-gaap_EarningsPerShareBasicAbstract_3fa93101-d45c-461d-8bd7-efdf567f7bcf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EarningsPerShareBasicNumeratorAbstract_70162a9d-357c-4fab-918c-c2337f26c5c0" xlink:href="cpsi-20211231.xsd#cpsi_EarningsPerShareBasicNumeratorAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAbstract_3fa93101-d45c-461d-8bd7-efdf567f7bcf" xlink:to="loc_cpsi_EarningsPerShareBasicNumeratorAbstract_70162a9d-357c-4fab-918c-c2337f26c5c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_29d51f0a-8959-4a7b-989b-2c4774de8c7a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_EarningsPerShareBasicNumeratorAbstract_70162a9d-357c-4fab-918c-c2337f26c5c0" xlink:to="loc_us-gaap_NetIncomeLoss_29d51f0a-8959-4a7b-989b-2c4774de8c7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic_96fd06ef-9b40-4da8-bfb3-538ee3cc0b43" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_EarningsPerShareBasicNumeratorAbstract_70162a9d-357c-4fab-918c-c2337f26c5c0" xlink:to="loc_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic_96fd06ef-9b40-4da8-bfb3-538ee3cc0b43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_1eabe464-2ddf-4bec-ab22-184276512eb5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_EarningsPerShareBasicNumeratorAbstract_70162a9d-357c-4fab-918c-c2337f26c5c0" xlink:to="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_1eabe464-2ddf-4bec-ab22-184276512eb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EarningsPerShareBasicDenominatorAbstract_a74c29a5-3ee0-40b0-93af-cfa7ad79e763" xlink:href="cpsi-20211231.xsd#cpsi_EarningsPerShareBasicDenominatorAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAbstract_3fa93101-d45c-461d-8bd7-efdf567f7bcf" xlink:to="loc_cpsi_EarningsPerShareBasicDenominatorAbstract_a74c29a5-3ee0-40b0-93af-cfa7ad79e763" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_15b45523-2f89-4962-8b69-b2d13f73e6cb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_EarningsPerShareBasicDenominatorAbstract_a74c29a5-3ee0-40b0-93af-cfa7ad79e763" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_15b45523-2f89-4962-8b69-b2d13f73e6cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_cf2f8a0e-bc14-4596-af85-5b507dc40727" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAbstract_3fa93101-d45c-461d-8bd7-efdf567f7bcf" xlink:to="loc_us-gaap_EarningsPerShareBasic_cf2f8a0e-bc14-4596-af85-5b507dc40727" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract_db9df5e5-39a0-4707-bacb-ee2e62ff9e5c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDilutedAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_f607e416-3e3e-49ee-a49b-ed832f1fb5b1" xlink:to="loc_us-gaap_EarningsPerShareDilutedAbstract_db9df5e5-39a0-4707-bacb-ee2e62ff9e5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EarningsPerShareDilutedNumeratorAbstract_af6e0f49-3d30-4c71-be79-657efacd5009" xlink:href="cpsi-20211231.xsd#cpsi_EarningsPerShareDilutedNumeratorAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_db9df5e5-39a0-4707-bacb-ee2e62ff9e5c" xlink:to="loc_cpsi_EarningsPerShareDilutedNumeratorAbstract_af6e0f49-3d30-4c71-be79-657efacd5009" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_28c2e3d7-85ff-4e0c-a40f-8aced715bd72" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_EarningsPerShareDilutedNumeratorAbstract_af6e0f49-3d30-4c71-be79-657efacd5009" xlink:to="loc_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted_28c2e3d7-85ff-4e0c-a40f-8aced715bd72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EarningsPerShareDilutedDenominatorAbstract_e9769773-2a89-43e9-90cd-dccf76d461eb" xlink:href="cpsi-20211231.xsd#cpsi_EarningsPerShareDilutedDenominatorAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_db9df5e5-39a0-4707-bacb-ee2e62ff9e5c" xlink:to="loc_cpsi_EarningsPerShareDilutedDenominatorAbstract_e9769773-2a89-43e9-90cd-dccf76d461eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_d5a157bf-d5af-41de-a57f-7a2d1188473b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_EarningsPerShareDilutedDenominatorAbstract_e9769773-2a89-43e9-90cd-dccf76d461eb" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_d5a157bf-d5af-41de-a57f-7a2d1188473b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract_38bacfa6-ed48-43b0-bc77-8262f0c03345" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_EarningsPerShareDilutedDenominatorAbstract_e9769773-2a89-43e9-90cd-dccf76d461eb" xlink:to="loc_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract_38bacfa6-ed48-43b0-bc77-8262f0c03345" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_0410ae65-519a-4133-9cc7-a0c9c4dbacde" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract_38bacfa6-ed48-43b0-bc77-8262f0c03345" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_0410ae65-519a-4133-9cc7-a0c9c4dbacde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_81354309-ce3e-4c39-9691-48567d9766ab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cpsi_EarningsPerShareDilutedDenominatorAbstract_e9769773-2a89-43e9-90cd-dccf76d461eb" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_81354309-ce3e-4c39-9691-48567d9766ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_321b684b-bf6d-4f0a-a8b9-e242090d98e4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_db9df5e5-39a0-4707-bacb-ee2e62ff9e5c" xlink:to="loc_us-gaap_EarningsPerShareDiluted_321b684b-bf6d-4f0a-a8b9-e242090d98e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IncomeTaxes" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_dce2e68c-0f7c-43b7-a132-49ed0cba7eac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_6d732e10-5f97-4b6f-95df-41356bf3d3b6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dce2e68c-0f7c-43b7-a132-49ed0cba7eac" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_6d732e10-5f97-4b6f-95df-41356bf3d3b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IncomeTaxesTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IncomeTaxesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_b1aaae70-7025-4da3-9d0c-20c488ec218f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_a6cf9b47-a107-4603-85da-5167e1b3976d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_b1aaae70-7025-4da3-9d0c-20c488ec218f" xlink:to="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_a6cf9b47-a107-4603-85da-5167e1b3976d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_c237350b-db56-40cf-9dbf-574df9d6e9bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_b1aaae70-7025-4da3-9d0c-20c488ec218f" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_c237350b-db56-40cf-9dbf-574df9d6e9bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_b97f3501-a63f-40e7-b077-cf36b545604c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_b1aaae70-7025-4da3-9d0c-20c488ec218f" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_b97f3501-a63f-40e7-b077-cf36b545604c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_c44d9587-5525-4b9f-a3eb-d0f856443a8c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable_9cc41d29-f7c1-4adc-ab32-b95b31f5ff83" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c44d9587-5525-4b9f-a3eb-d0f856443a8c" xlink:to="loc_us-gaap_OperatingLossCarryforwardsTable_9cc41d29-f7c1-4adc-ab32-b95b31f5ff83" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_47ad7b5e-fb35-4afb-ae11-83e897a2a8e4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_9cc41d29-f7c1-4adc-ab32-b95b31f5ff83" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_47ad7b5e-fb35-4afb-ae11-83e897a2a8e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_ba5ef69c-b74c-46e7-944e-710f0140edaf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_47ad7b5e-fb35-4afb-ae11-83e897a2a8e4" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_ba5ef69c-b74c-46e7-944e-710f0140edaf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_68bdc2b3-2719-4476-b5c9-bf7061b72c7b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DomesticCountryMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_ba5ef69c-b74c-46e7-944e-710f0140edaf" xlink:to="loc_us-gaap_DomesticCountryMember_68bdc2b3-2719-4476-b5c9-bf7061b72c7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_121c0153-9cdf-4d26-a8ce-d2885edd02da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_ba5ef69c-b74c-46e7-944e-710f0140edaf" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_121c0153-9cdf-4d26-a8ce-d2885edd02da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_9cc41d29-f7c1-4adc-ab32-b95b31f5ff83" xlink:to="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_a4e45fa3-45fa-4e07-94bb-aa3563ddd137" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_a4e45fa3-45fa-4e07-94bb-aa3563ddd137" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_dfb95a30-0f01-4f17-8d8c-adf2e7c3ae6b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_dfb95a30-0f01-4f17-8d8c-adf2e7c3ae6b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate_1cba744f-c088-4918-b8fd-eb1f7dbd290c" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate_1cba744f-c088-4918-b8fd-eb1f7dbd290c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate_bb018bfe-fea9-4e46-a3fc-e1c5f2094ada" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate_bb018bfe-fea9-4e46-a3fc-e1c5f2094ada" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate_f9ef2201-3167-4456-bbf9-f4866866c691" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate_f9ef2201-3167-4456-bbf9-f4866866c691" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_7ea95911-5cbc-4642-8b9f-70d5421ff611" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_us-gaap_OperatingLossCarryforwards_7ea95911-5cbc-4642-8b9f-70d5421ff611" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_f9212274-bb7a-4b8f-a743-d3c8a18ec18d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_f5f48674-b573-4aff-8789-19da47197eb8" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_f9212274-bb7a-4b8f-a743-d3c8a18ec18d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_f831cc26-d1e1-4f49-a503-0c855be6b302" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f831cc26-d1e1-4f49-a503-0c855be6b302" xlink:to="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables_d8249063-6590-40fe-beea-6b50d6ddcdc7" xlink:href="cpsi-20211231.xsd#cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:to="loc_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables_d8249063-6590-40fe-beea-6b50d6ddcdc7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DeferredTaxAssetsAccruedVacation_d1f6adbe-1383-4980-9a36-d6f9e20119b8" xlink:href="cpsi-20211231.xsd#cpsi_DeferredTaxAssetsAccruedVacation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:to="loc_cpsi_DeferredTaxAssetsAccruedVacation_d1f6adbe-1383-4980-9a36-d6f9e20119b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_d15d62eb-c88d-437b-ae85-f94ea9ad1ee5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_d15d62eb-c88d-437b-ae85-f94ea9ad1ee5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsDeferredIncome_b06d4e6d-1332-4133-84d0-c154f3aa7f0f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsDeferredIncome"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:to="loc_us-gaap_DeferredTaxAssetsDeferredIncome_b06d4e6d-1332-4133-84d0-c154f3aa7f0f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments_20793c05-e602-4269-a0b3-eeba83a20f9c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments_20793c05-e602-4269-a0b3-eeba83a20f9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_8c3cf208-33d1-4afd-8f01-80290d58c32c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_8c3cf208-33d1-4afd-8f01-80290d58c32c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_ae532728-d585-4019-8ed4-becdc51afa09" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards_ae532728-d585-4019-8ed4-becdc51afa09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_4fe61615-2488-4b43-be15-db302d739604" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_4fe61615-2488-4b43-be15-db302d739604" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_1752ebea-e12a-4b51-a8aa-5aa8cfd344b4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_1752ebea-e12a-4b51-a8aa-5aa8cfd344b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_dcb23af7-ae6e-41b8-a956-600a85268d58" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_dcb23af7-ae6e-41b8-a956-600a85268d58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet_2d1b2956-2984-473f-b5b4-a3e665ffa7b6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxAssetsAbstract_3104da43-fd63-4537-bd60-fc767a6ce883" xlink:to="loc_us-gaap_DeferredTaxAssetsNet_2d1b2956-2984-473f-b5b4-a3e665ffa7b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_0ebaaa6c-d6f8-495e-893a-3c94358f5152" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f831cc26-d1e1-4f49-a503-0c855be6b302" xlink:to="loc_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_0ebaaa6c-d6f8-495e-893a-3c94358f5152" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_42d2d683-56e5-48da-bd81-dd9bd43666c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_0ebaaa6c-d6f8-495e-893a-3c94358f5152" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_42d2d683-56e5-48da-bd81-dd9bd43666c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_41abe3bb-f23e-4aa8-9a0b-d4f5d2654eed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_0ebaaa6c-d6f8-495e-893a-3c94358f5152" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_41abe3bb-f23e-4aa8-9a0b-d4f5d2654eed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesOther_432d18c1-5f27-4b31-9b43-904acff84a56" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_0ebaaa6c-d6f8-495e-893a-3c94358f5152" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesOther_432d18c1-5f27-4b31-9b43-904acff84a56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_b47a6b5e-6c73-45ad-8599-5eb0251be428" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_0ebaaa6c-d6f8-495e-893a-3c94358f5152" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_b47a6b5e-6c73-45ad-8599-5eb0251be428" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities_6dd2690f-e548-4b5c-989b-1b2889818290" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f831cc26-d1e1-4f49-a503-0c855be6b302" xlink:to="loc_us-gaap_DeferredTaxLiabilities_6dd2690f-e548-4b5c-989b-1b2889818290" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_580cbb31-50c2-4a97-9cd7-53fe81444dcb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_54f41254-b105-4db6-a551-6cf6d2d66ffe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_580cbb31-50c2-4a97-9cd7-53fe81444dcb" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_54f41254-b105-4db6-a551-6cf6d2d66ffe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_085e4ae6-c2a3-49eb-a0a6-63fe9a0c2a60" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_54f41254-b105-4db6-a551-6cf6d2d66ffe" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_085e4ae6-c2a3-49eb-a0a6-63fe9a0c2a60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_bfa2cc34-1819-4a4d-9451-bdf2fee2f80f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_54f41254-b105-4db6-a551-6cf6d2d66ffe" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_bfa2cc34-1819-4a4d-9451-bdf2fee2f80f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_026ad230-dc2d-4ef4-a384-bf964ff83dc9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_580cbb31-50c2-4a97-9cd7-53fe81444dcb" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_026ad230-dc2d-4ef4-a384-bf964ff83dc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_d66048e4-fd8a-4892-9969-ced7f691d8a6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_026ad230-dc2d-4ef4-a384-bf964ff83dc9" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_d66048e4-fd8a-4892-9969-ced7f691d8a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_a8f9f40f-76ca-47e0-bdf9-a666698d8e7a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_026ad230-dc2d-4ef4-a384-bf964ff83dc9" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_a8f9f40f-76ca-47e0-bdf9-a666698d8e7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_9f3314fc-6e85-48dd-b213-874ef651fbc2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_026ad230-dc2d-4ef4-a384-bf964ff83dc9" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_9f3314fc-6e85-48dd-b213-874ef651fbc2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_dad4e98d-9c3d-45f9-bfcd-ee66d3d9c649" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_960d77c2-8109-42a6-8aec-1d71c90d4f88" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dad4e98d-9c3d-45f9-bfcd-ee66d3d9c649" xlink:to="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_960d77c2-8109-42a6-8aec-1d71c90d4f88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ProvisionToReturnAdjustments_39a63d45-5ea7-49ad-a481-1399336d52bf" xlink:href="cpsi-20211231.xsd#cpsi_ProvisionToReturnAdjustments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dad4e98d-9c3d-45f9-bfcd-ee66d3d9c649" xlink:to="loc_cpsi_ProvisionToReturnAdjustments_39a63d45-5ea7-49ad-a481-1399336d52bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_26a40754-b936-46ec-88c7-b1a8c7e65637" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dad4e98d-9c3d-45f9-bfcd-ee66d3d9c649" xlink:to="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_26a40754-b936-46ec-88c7-b1a8c7e65637" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxCredits_9b5599b1-301e-429a-9d41-3b3bf1ed67eb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationTaxCredits"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dad4e98d-9c3d-45f9-bfcd-ee66d3d9c649" xlink:to="loc_us-gaap_IncomeTaxReconciliationTaxCredits_9b5599b1-301e-429a-9d41-3b3bf1ed67eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts_9c063d59-5ac2-44cb-aae1-51defa372987" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dad4e98d-9c3d-45f9-bfcd-ee66d3d9c649" xlink:to="loc_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts_9c063d59-5ac2-44cb-aae1-51defa372987" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_d97ab343-e87b-40f5-8359-883d0e7099ca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dad4e98d-9c3d-45f9-bfcd-ee66d3d9c649" xlink:to="loc_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost_d97ab343-e87b-40f5-8359-883d0e7099ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_5019e8f9-0570-4e02-b4ef-7cd09d5f0bbb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dad4e98d-9c3d-45f9-bfcd-ee66d3d9c649" xlink:to="loc_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_5019e8f9-0570-4e02-b4ef-7cd09d5f0bbb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation_2a66563d-4d54-4d84-9def-925bb503905f" xlink:href="cpsi-20211231.xsd#cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dad4e98d-9c3d-45f9-bfcd-ee66d3d9c649" xlink:to="loc_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation_2a66563d-4d54-4d84-9def-925bb503905f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems_ab9430ca-9134-4a40-91a4-e527f0c871cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxReconciliationOtherReconcilingItems"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dad4e98d-9c3d-45f9-bfcd-ee66d3d9c649" xlink:to="loc_us-gaap_IncomeTaxReconciliationOtherReconcilingItems_ab9430ca-9134-4a40-91a4-e527f0c871cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_11d3851e-aea0-48e4-be2e-ca15ccf7e0f6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_dad4e98d-9c3d-45f9-bfcd-ee66d3d9c649" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_11d3851e-aea0-48e4-be2e-ca15ccf7e0f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquity" xlink:type="simple" xlink:href="cpsi-20211231.xsd#StockBasedCompensationandEquity"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/StockBasedCompensationandEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_24dae4c0-f2fa-4a9e-a4e8-6895a437d96b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_0533203f-0fee-4121-9dd1-d7f1ac8e1632" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_24dae4c0-f2fa-4a9e-a4e8-6895a437d96b" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_0533203f-0fee-4121-9dd1-d7f1ac8e1632" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquityTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#StockBasedCompensationandEquityTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/StockBasedCompensationandEquityTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_35b35302-6462-488f-a5f0-e4b8948823e1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_55f20c5b-3078-4ae8-8740-95793bf773b0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_35b35302-6462-488f-a5f0-e4b8948823e1" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_55f20c5b-3078-4ae8-8740-95793bf773b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_169c7495-6126-4cac-931a-e6bf4194d8d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_55f20c5b-3078-4ae8-8740-95793bf773b0" xlink:to="loc_us-gaap_AwardTypeAxis_169c7495-6126-4cac-931a-e6bf4194d8d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6eb215c8-4e1f-4e11-b6fe-c79728c7291c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_169c7495-6126-4cac-931a-e6bf4194d8d6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6eb215c8-4e1f-4e11-b6fe-c79728c7291c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_74cfdc02-1eb6-447e-9a07-76a4f679bfb2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6eb215c8-4e1f-4e11-b6fe-c79728c7291c" xlink:to="loc_us-gaap_RestrictedStockMember_74cfdc02-1eb6-447e-9a07-76a4f679bfb2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_9341b65a-4293-47ee-b6ee-25ca17d9edc7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6eb215c8-4e1f-4e11-b6fe-c79728c7291c" xlink:to="loc_us-gaap_PerformanceSharesMember_9341b65a-4293-47ee-b6ee-25ca17d9edc7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_6d6aa72f-a58b-477c-9b90-f89eb512ef07" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_55f20c5b-3078-4ae8-8740-95793bf773b0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_6d6aa72f-a58b-477c-9b90-f89eb512ef07" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_6680b75c-2c53-41ee-9f80-d499fb438296" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_6d6aa72f-a58b-477c-9b90-f89eb512ef07" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_6680b75c-2c53-41ee-9f80-d499fb438296" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_b363452d-c645-4b33-b275-a7385db53fa1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_6d6aa72f-a58b-477c-9b90-f89eb512ef07" xlink:to="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_b363452d-c645-4b33-b275-a7385db53fa1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#StockBasedCompensationandEquityNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_8f78d4cd-8431-46fb-93b6-940b6d762f35" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a94878a9-f6c4-4a40-8b1a-f0c844225527" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_8f78d4cd-8431-46fb-93b6-940b6d762f35" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a94878a9-f6c4-4a40-8b1a-f0c844225527" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_3d536dc5-5c16-4f53-95ff-c38a125ef8c3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a94878a9-f6c4-4a40-8b1a-f0c844225527" xlink:to="loc_us-gaap_AwardTypeAxis_3d536dc5-5c16-4f53-95ff-c38a125ef8c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_46717416-23d1-4106-be38-b92c09407be7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_3d536dc5-5c16-4f53-95ff-c38a125ef8c3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_46717416-23d1-4106-be38-b92c09407be7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_cb625fc8-d30c-430a-aa21-62bd9c59ee54" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_46717416-23d1-4106-be38-b92c09407be7" xlink:to="loc_us-gaap_RestrictedStockMember_cb625fc8-d30c-430a-aa21-62bd9c59ee54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_2e7efa50-2d5f-465a-b90e-349a47a05672" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_46717416-23d1-4106-be38-b92c09407be7" xlink:to="loc_us-gaap_PerformanceSharesMember_2e7efa50-2d5f-465a-b90e-349a47a05672" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_a62e1dfe-ec5f-4a81-a6bd-28ac9aa307bd" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a94878a9-f6c4-4a40-8b1a-f0c844225527" xlink:to="loc_srt_RangeAxis_a62e1dfe-ec5f-4a81-a6bd-28ac9aa307bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_e79000b4-c3fe-4c56-bb6c-e333b627e24a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_a62e1dfe-ec5f-4a81-a6bd-28ac9aa307bd" xlink:to="loc_srt_RangeMember_e79000b4-c3fe-4c56-bb6c-e333b627e24a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_3d1e469d-a219-4de6-a571-b6897506c2ad" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_e79000b4-c3fe-4c56-bb6c-e333b627e24a" xlink:to="loc_srt_MinimumMember_3d1e469d-a219-4de6-a571-b6897506c2ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_c8908d84-9c7b-4376-ab5c-8ce4649094e7" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_e79000b4-c3fe-4c56-bb6c-e333b627e24a" xlink:to="loc_srt_MaximumMember_c8908d84-9c7b-4376-ab5c-8ce4649094e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a94878a9-f6c4-4a40-8b1a-f0c844225527" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_380b6bad-ed9d-4dff-ba05-a3652f073e14" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_380b6bad-ed9d-4dff-ba05-a3652f073e14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_f8441bee-5b98-4719-83d0-ad6417a0ba7f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_f8441bee-5b98-4719-83d0-ad6417a0ba7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_5bb53a6b-c0fb-40b8-a684-6f2f9fa85eb3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_5bb53a6b-c0fb-40b8-a684-6f2f9fa85eb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_9938bbc8-eb22-41db-b7a8-a56bb9cb4762" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_9938bbc8-eb22-41db-b7a8-a56bb9cb4762" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_f96797ad-2f90-407e-8bfc-ddee727fabf9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_f96797ad-2f90-407e-8bfc-ddee727fabf9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_73ebe341-ccc7-4068-938b-1dc5d35c4eec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_73ebe341-ccc7-4068-938b-1dc5d35c4eec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_ed6f76fb-4ead-4094-8c70-d7e7857ce872" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e31baf25-7430-4333-aa1e-31bb627157ae" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_ed6f76fb-4ead-4094-8c70-d7e7857ce872" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_846f0101-47d7-45fd-898d-f44e35ce64b8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_aba6878f-48dc-4051-8bdc-7532db3574a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_846f0101-47d7-45fd-898d-f44e35ce64b8" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_aba6878f-48dc-4051-8bdc-7532db3574a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_3461b48c-3eab-4563-94f3-64965ec2b330" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_aba6878f-48dc-4051-8bdc-7532db3574a8" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_3461b48c-3eab-4563-94f3-64965ec2b330" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_0f31c5d0-7c0c-48a3-91df-3e7319e5979b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_3461b48c-3eab-4563-94f3-64965ec2b330" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_0f31c5d0-7c0c-48a3-91df-3e7319e5979b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_b212575c-80f0-4fd9-816a-7532eb6693b1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_0f31c5d0-7c0c-48a3-91df-3e7319e5979b" xlink:to="loc_us-gaap_CostOfSalesMember_b212575c-80f0-4fd9-816a-7532eb6693b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenseMember_101d7dcf-e066-405f-8c14-fd295fd994fd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_0f31c5d0-7c0c-48a3-91df-3e7319e5979b" xlink:to="loc_us-gaap_OperatingExpenseMember_101d7dcf-e066-405f-8c14-fd295fd994fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_01dea9e7-afc1-488f-aa72-7e4f4c1de31c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_aba6878f-48dc-4051-8bdc-7532db3574a8" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_01dea9e7-afc1-488f-aa72-7e4f4c1de31c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_43912bd8-04eb-439a-a0d4-d321d0a3a735" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_01dea9e7-afc1-488f-aa72-7e4f4c1de31c" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_43912bd8-04eb-439a-a0d4-d321d0a3a735" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_c41e038f-7362-48e7-a54d-72123d9f9080" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_01dea9e7-afc1-488f-aa72-7e4f4c1de31c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_c41e038f-7362-48e7-a54d-72123d9f9080" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_9afee75d-5c97-4bf7-9455-9f31bd3d52b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_01dea9e7-afc1-488f-aa72-7e4f4c1de31c" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax_9afee75d-5c97-4bf7-9455-9f31bd3d52b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_62f3f564-b937-4b8c-805f-054405259d36" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f80fd5a0-a3fb-4378-8fa2-39dad7d4d9ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_62f3f564-b937-4b8c-805f-054405259d36" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f80fd5a0-a3fb-4378-8fa2-39dad7d4d9ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_a6ebd03f-1d20-4182-8b64-fa14e26b7bfb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f80fd5a0-a3fb-4378-8fa2-39dad7d4d9ed" xlink:to="loc_us-gaap_AwardTypeAxis_a6ebd03f-1d20-4182-8b64-fa14e26b7bfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b0c59ec4-3ca4-4846-8372-1c6a30206ee9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_a6ebd03f-1d20-4182-8b64-fa14e26b7bfb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b0c59ec4-3ca4-4846-8372-1c6a30206ee9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_fdf31be6-f44d-4d61-b925-e6f7cdd6b0f7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b0c59ec4-3ca4-4846-8372-1c6a30206ee9" xlink:to="loc_us-gaap_RestrictedStockMember_fdf31be6-f44d-4d61-b925-e6f7cdd6b0f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_897870e5-8bc2-4204-a64e-380a49b4b710" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b0c59ec4-3ca4-4846-8372-1c6a30206ee9" xlink:to="loc_us-gaap_PerformanceSharesMember_897870e5-8bc2-4204-a64e-380a49b4b710" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_12b01f84-bb41-4d80-a167-a2d64742d7b5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f80fd5a0-a3fb-4378-8fa2-39dad7d4d9ed" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_12b01f84-bb41-4d80-a167-a2d64742d7b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_12b01f84-bb41-4d80-a167-a2d64742d7b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a09a5c3e-5013-435a-8ed9-ae7eaa3336bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a09a5c3e-5013-435a-8ed9-ae7eaa3336bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_309aa859-7c59-4b5c-bf94-29f28426c16f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_309aa859-7c59-4b5c-bf94-29f28426c16f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod_b5ee7960-b398-4ad8-ae08-80e2c8fd983c" xlink:href="cpsi-20211231.xsd#cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod_b5ee7960-b398-4ad8-ae08-80e2c8fd983c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod_33dccc83-763a-453e-ba84-a756e2c43aef" xlink:href="cpsi-20211231.xsd#cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod_33dccc83-763a-453e-ba84-a756e2c43aef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_4dd60be9-a3b6-4da3-9f0b-3d6be9da5646" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_4dd60be9-a3b6-4da3-9f0b-3d6be9da5646" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_aecb4631-8378-403e-8285-553bed3475a0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_aecb4631-8378-403e-8285-553bed3475a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_ef51daac-ca81-4188-9dc9-f623ad0d9bca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_6d854ca7-8422-48bc-8b95-b040f16da372" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_ef51daac-ca81-4188-9dc9-f623ad0d9bca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_12b01f84-bb41-4d80-a167-a2d64742d7b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_65114f85-c24b-42fb-9d44-3a66164d0a31" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_65114f85-c24b-42fb-9d44-3a66164d0a31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_81415f4f-9cf0-42c3-b5f9-4e170258e9f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_81415f4f-9cf0-42c3-b5f9-4e170258e9f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue_06b0c1c0-5508-4b5d-b4ce-84032274d52e" xlink:href="cpsi-20211231.xsd#cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue_06b0c1c0-5508-4b5d-b4ce-84032274d52e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue_46275b5a-75d9-44ce-bd21-ae20dc1e741d" xlink:href="cpsi-20211231.xsd#cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue_46275b5a-75d9-44ce-bd21-ae20dc1e741d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_a5c51239-9f9e-4acc-bb7b-10c10ff1a049" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_a5c51239-9f9e-4acc-bb7b-10c10ff1a049" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_6e67abdb-9037-4e59-a8c1-bc87399ab1f7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_6e67abdb-9037-4e59-a8c1-bc87399ab1f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_fecf8240-5bf8-4a34-a02e-fcea08d025f7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_679bfa04-e6e8-4f37-8858-86a1bc1c1921" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_fecf8240-5bf8-4a34-a02e-fcea08d025f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ConcentrationofCreditRisk" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ConcentrationofCreditRisk"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/ConcentrationofCreditRisk" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract_941b4983-4fe4-4ee3-b1cd-bc6d3666b590" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RisksAndUncertaintiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskDisclosureTextBlock_5cf2c360-f9d4-4d71-89b6-2231100f7865" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract_941b4983-4fe4-4ee3-b1cd-bc6d3666b590" xlink:to="loc_us-gaap_ConcentrationRiskDisclosureTextBlock_5cf2c360-f9d4-4d71-89b6-2231100f7865" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_7b5eb9f1-d21c-4673-b00d-3dbace80f7cb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesTextBlock_dff7828a-ca43-4d1d-b62f-623ceef9588c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_7b5eb9f1-d21c-4673-b00d-3dbace80f7cb" xlink:to="loc_us-gaap_FinancingReceivablesTextBlock_dff7828a-ca43-4d1d-b62f-623ceef9588c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_1c1e2bcf-2c5c-45d3-8dde-8929ab9e1aec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_5aab2c54-04ad-4b77-902a-b3a72e3aaf6f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_1c1e2bcf-2c5c-45d3-8dde-8929ab9e1aec" xlink:to="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_5aab2c54-04ad-4b77-902a-b3a72e3aaf6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock_b7580c7d-7a12-4dbe-8731-71dd6e7fbf98" xlink:href="cpsi-20211231.xsd#cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_1c1e2bcf-2c5c-45d3-8dde-8929ab9e1aec" xlink:to="loc_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock_b7580c7d-7a12-4dbe-8731-71dd6e7fbf98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock_d3f5041b-21a2-47dc-9869-184f39287209" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_1c1e2bcf-2c5c-45d3-8dde-8929ab9e1aec" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock_d3f5041b-21a2-47dc-9869-184f39287209" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_30008ae7-9720-4bad-9d4e-ebd428bdb5d7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_1c1e2bcf-2c5c-45d3-8dde-8929ab9e1aec" xlink:to="loc_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_30008ae7-9720-4bad-9d4e-ebd428bdb5d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PastDueFinancingReceivablesTableTextBlock_a11f01ea-35f4-45f1-a341-f52356561694" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PastDueFinancingReceivablesTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_1c1e2bcf-2c5c-45d3-8dde-8929ab9e1aec" xlink:to="loc_us-gaap_PastDueFinancingReceivablesTableTextBlock_a11f01ea-35f4-45f1-a341-f52356561694" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock_d9166205-f4ce-40e5-b227-8aaca2923f1b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_1c1e2bcf-2c5c-45d3-8dde-8929ab9e1aec" xlink:to="loc_us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock_d9166205-f4ce-40e5-b227-8aaca2923f1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_9eca3938-8aca-45e4-ae5c-490c98736a08" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_47bcadc7-1014-463d-90ac-f693a5bbf3b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_9eca3938-8aca-45e4-ae5c-490c98736a08" xlink:to="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_47bcadc7-1014-463d-90ac-f693a5bbf3b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4258b8d6-56ad-4e56-a29b-d61dad925357" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_47bcadc7-1014-463d-90ac-f693a5bbf3b2" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4258b8d6-56ad-4e56-a29b-d61dad925357" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_cd81cd26-092c-47e1-adc4-c81a1eb3c319" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4258b8d6-56ad-4e56-a29b-d61dad925357" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_cd81cd26-092c-47e1-adc4-c81a1eb3c319" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermFinancingArrangementMember_75b5f2d5-4f8e-4ab9-ac10-4b9d81911a7f" xlink:href="cpsi-20211231.xsd#cpsi_LongTermFinancingArrangementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_cd81cd26-092c-47e1-adc4-c81a1eb3c319" xlink:to="loc_cpsi_LongTermFinancingArrangementMember_75b5f2d5-4f8e-4ab9-ac10-4b9d81911a7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ShortTermPaymentPlansMember_d14e92ec-9151-4a98-8ecb-4072a448103f" xlink:href="cpsi-20211231.xsd#cpsi_ShortTermPaymentPlansMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_cd81cd26-092c-47e1-adc4-c81a1eb3c319" xlink:to="loc_cpsi_ShortTermPaymentPlansMember_d14e92ec-9151-4a98-8ecb-4072a448103f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_8b453bb4-4fd5-4de7-ad93-85f80ac8bddf" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_47bcadc7-1014-463d-90ac-f693a5bbf3b2" xlink:to="loc_srt_RangeAxis_8b453bb4-4fd5-4de7-ad93-85f80ac8bddf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_93783a2f-eb29-48a6-801b-96cb2731b630" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_8b453bb4-4fd5-4de7-ad93-85f80ac8bddf" xlink:to="loc_srt_RangeMember_93783a2f-eb29-48a6-801b-96cb2731b630" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_a4a2d676-ca5b-46ed-b588-0d2482fb5929" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_93783a2f-eb29-48a6-801b-96cb2731b630" xlink:to="loc_srt_MinimumMember_a4a2d676-ca5b-46ed-b588-0d2482fb5929" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_db5ff237-5232-4956-8f83-123b8b1eee4c" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_93783a2f-eb29-48a6-801b-96cb2731b630" xlink:to="loc_srt_MaximumMember_db5ff237-5232-4956-8f83-123b8b1eee4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_d67ee52d-8c41-4156-b9df-2deb1a650367" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_47bcadc7-1014-463d-90ac-f693a5bbf3b2" xlink:to="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_d67ee52d-8c41-4156-b9df-2deb1a650367" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancingReceivableTerm_12a9c93f-01f3-433f-9245-0bed2003a03a" xlink:href="cpsi-20211231.xsd#cpsi_FinancingReceivableTerm"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_d67ee52d-8c41-4156-b9df-2deb1a650367" xlink:to="loc_cpsi_FinancingReceivableTerm_12a9c93f-01f3-433f-9245-0bed2003a03a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesShortTermPaymentPlansDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_e083d6d7-5ee0-461e-94de-93aef9c7093e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_9b4046fc-31a7-4be5-8cb7-d4e126c81ed8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_e083d6d7-5ee0-461e-94de-93aef9c7093e" xlink:to="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_9b4046fc-31a7-4be5-8cb7-d4e126c81ed8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_984f9228-309b-4745-8e05-8f80f9b8c9ca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_9b4046fc-31a7-4be5-8cb7-d4e126c81ed8" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_984f9228-309b-4745-8e05-8f80f9b8c9ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_bb8e42b6-64fd-433d-b6a9-d75ea0cdc437" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_984f9228-309b-4745-8e05-8f80f9b8c9ca" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_bb8e42b6-64fd-433d-b6a9-d75ea0cdc437" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_ShortTermPaymentPlansMember_520e8c1d-54ba-427b-b3f0-b66905f696c0" xlink:href="cpsi-20211231.xsd#cpsi_ShortTermPaymentPlansMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_bb8e42b6-64fd-433d-b6a9-d75ea0cdc437" xlink:to="loc_cpsi_ShortTermPaymentPlansMember_520e8c1d-54ba-427b-b3f0-b66905f696c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_9a508724-7cf3-49ee-a156-2300a8a8c052" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_9b4046fc-31a7-4be5-8cb7-d4e126c81ed8" xlink:to="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_9a508724-7cf3-49ee-a156-2300a8a8c052" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableGrossCurrent_cb713ca6-bbe0-4a13-8849-8c759951d02f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableGrossCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_9a508724-7cf3-49ee-a156-2300a8a8c052" xlink:to="loc_us-gaap_NotesAndLoansReceivableGrossCurrent_cb713ca6-bbe0-4a13-8849-8c759951d02f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForNotesAndLoansReceivableCurrent_fbb71fbe-acb9-4745-b0ac-43751a5acdf1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForNotesAndLoansReceivableCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_9a508724-7cf3-49ee-a156-2300a8a8c052" xlink:to="loc_us-gaap_AllowanceForNotesAndLoansReceivableCurrent_fbb71fbe-acb9-4745-b0ac-43751a5acdf1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesAndLoansReceivableNetCurrent_e965172d-5d24-43a6-b438-eb2e473fd885" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsNotesAndLoansReceivableLineItems_9a508724-7cf3-49ee-a156-2300a8a8c052" xlink:to="loc_us-gaap_NotesAndLoansReceivableNetCurrent_e965172d-5d24-43a6-b438-eb2e473fd885" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesComponentsofLeaseReceivablesDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_4945a143-e37e-42dd-977a-be1636424907" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_28bdde06-b909-441b-aae3-7faf2a52108b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFinancingReceivablesPastDueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_4945a143-e37e-42dd-977a-be1636424907" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_28bdde06-b909-441b-aae3-7faf2a52108b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_ebe8cee8-5339-40ab-a329-ada40c67e29a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_28bdde06-b909-441b-aae3-7faf2a52108b" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_ebe8cee8-5339-40ab-a329-ada40c67e29a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_950a481b-2511-48f6-941b-330480b7b5a6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_ebe8cee8-5339-40ab-a329-ada40c67e29a" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_950a481b-2511-48f6-941b-330480b7b5a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermFinancingArrangementMember_b0ec75ff-abe1-4976-9605-4b2153c6913e" xlink:href="cpsi-20211231.xsd#cpsi_LongTermFinancingArrangementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_950a481b-2511-48f6-941b-330480b7b5a6" xlink:to="loc_cpsi_LongTermFinancingArrangementMember_b0ec75ff-abe1-4976-9605-4b2153c6913e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_28bdde06-b909-441b-aae3-7faf2a52108b" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableGross_34f5a7ee-01f6-4a2f-b7f9-36c58e943177" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:to="loc_us-gaap_NotesReceivableGross_34f5a7ee-01f6-4a2f-b7f9-36c58e943177" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_c5faa21e-1e1a-45d4-a52b-eccdb0169790" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_c5faa21e-1e1a-45d4-a52b-eccdb0169790" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableDeferredIncome_19733abc-ad55-4748-8a7e-f81413cb284b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableDeferredIncome"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:to="loc_us-gaap_FinancingReceivableDeferredIncome_19733abc-ad55-4748-8a7e-f81413cb284b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableNet_6d7e3d52-0d96-4dae-8d64-31b9c6cc8181" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_d3dbd9a5-09de-44ce-b281-cf6cb4ab77b2" xlink:to="loc_us-gaap_NotesReceivableNet_6d7e3d52-0d96-4dae-8d64-31b9c6cc8181" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesFutureMinimumLeasePaymentsDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_522b61cb-eee3-4bb0-b3fb-298ba3a3789c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_e51c9a96-18eb-4391-a002-3dcc356c2573" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFinancingReceivablesPastDueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_522b61cb-eee3-4bb0-b3fb-298ba3a3789c" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_e51c9a96-18eb-4391-a002-3dcc356c2573" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4a47c0ba-2fb6-4294-aec5-6e8035048690" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_e51c9a96-18eb-4391-a002-3dcc356c2573" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4a47c0ba-2fb6-4294-aec5-6e8035048690" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_3d713aec-ddeb-4d95-9d39-53e2da571edc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_4a47c0ba-2fb6-4294-aec5-6e8035048690" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_3d713aec-ddeb-4d95-9d39-53e2da571edc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermFinancingArrangementMember_831b0dec-bffb-4752-9438-08a10b7c8244" xlink:href="cpsi-20211231.xsd#cpsi_LongTermFinancingArrangementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain_3d713aec-ddeb-4d95-9d39-53e2da571edc" xlink:to="loc_cpsi_LongTermFinancingArrangementMember_831b0dec-bffb-4752-9438-08a10b7c8244" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_e51c9a96-18eb-4391-a002-3dcc356c2573" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths_9cb02445-feac-4835-939a-010fbef1a83b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths_9cb02445-feac-4835-939a-010fbef1a83b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears_f4b563e3-e4c0-4942-befe-ae060f42f30c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears_f4b563e3-e4c0-4942-befe-ae060f42f30c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears_e10371a3-2ad1-451c-a514-77c6fa6cebf1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears_e10371a3-2ad1-451c-a514-77c6fa6cebf1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears_ccf66856-0fcd-4b4c-9dbb-ecb6af1cc43c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears_ccf66856-0fcd-4b4c-9dbb-ecb6af1cc43c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears_062b4efb-62ea-4b6d-a06e-63876663a330" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears_062b4efb-62ea-4b6d-a06e-63876663a330" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter_c438460a-171a-421d-83cc-e727759b1c3e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter_c438460a-171a-421d-83cc-e727759b1c3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_d510cbef-6d5a-4620-9619-89c59fab9112" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived_d510cbef-6d5a-4620-9619-89c59fab9112" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_b4ec8ccb-d37c-4a07-9565-2fa92a964b5c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_b4ec8ccb-d37c-4a07-9565-2fa92a964b5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableDeferredIncome_b646046d-d5af-43a6-be52-196c0de1e13f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableDeferredIncome"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_FinancingReceivableDeferredIncome_b646046d-d5af-43a6-be52-196c0de1e13f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableNet_57f6390e-72bb-4b36-8113-dcc84608746b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableNet"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_b6541af8-71dc-43e1-b35e-d0d1005e1b4f" xlink:to="loc_us-gaap_NotesReceivableNet_57f6390e-72bb-4b36-8113-dcc84608746b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesAllowanceforFinancingCreditLossesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesAllowanceforFinancingCreditLossesDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesAllowanceforFinancingCreditLossesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_046af6cc-100b-4d9c-822b-664cd9990601" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward_ff4ccdaf-3c7e-4547-a011-043f25b9a2cb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_046af6cc-100b-4d9c-822b-664cd9990601" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward_ff4ccdaf-3c7e-4547-a011-043f25b9a2cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_42de05cf-bea6-4fea-b8a9-1a973bf54a33" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward_ff4ccdaf-3c7e-4547-a011-043f25b9a2cb" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_42de05cf-bea6-4fea-b8a9-1a973bf54a33" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForLoanLossesExpensed_bfc7b12d-dcf8-4968-b75a-d98b55894d00" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForLoanLossesExpensed"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward_ff4ccdaf-3c7e-4547-a011-043f25b9a2cb" xlink:to="loc_us-gaap_ProvisionForLoanLossesExpensed_bfc7b12d-dcf8-4968-b75a-d98b55894d00" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs_337d81e1-d163-4908-977e-e5069540d96d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward_ff4ccdaf-3c7e-4547-a011-043f25b9a2cb" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs_337d81e1-d163-4908-977e-e5069540d96d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery_77c2d178-2646-4b12-b6a3-3083b8bce116" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward_ff4ccdaf-3c7e-4547-a011-043f25b9a2cb" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery_77c2d178-2646-4b12-b6a3-3083b8bce116" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_8bfc1885-0412-404a-aa77-d622fbd9fc5f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward_ff4ccdaf-3c7e-4547-a011-043f25b9a2cb" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_8bfc1885-0412-404a-aa77-d622fbd9fc5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_a39579f4-47aa-4bbe-99fa-9c9c5f218c9c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_646268e2-74eb-47d6-8560-bb7507a1da85" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFinancingReceivablesPastDueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_a39579f4-47aa-4bbe-99fa-9c9c5f218c9c" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_646268e2-74eb-47d6-8560-bb7507a1da85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9bf32598-f05a-41fe-b0ca-5deb80d7de5a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_646268e2-74eb-47d6-8560-bb7507a1da85" xlink:to="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9bf32598-f05a-41fe-b0ca-5deb80d7de5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_46359288-2fdf-4dbb-982b-af719d032444" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9bf32598-f05a-41fe-b0ca-5deb80d7de5a" xlink:to="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_46359288-2fdf-4dbb-982b-af719d032444" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialAssetPastDueMember_18b6e590-9033-4b26-8c03-0f5930505449" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialAssetPastDueMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_46359288-2fdf-4dbb-982b-af719d032444" xlink:to="loc_us-gaap_FinancialAssetPastDueMember_18b6e590-9033-4b26-8c03-0f5930505449" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset1To90DaysPastDueMember_65d2a3b8-b015-4cde-aec6-9ba1c36da29a" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset1To90DaysPastDueMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_18b6e590-9033-4b26-8c03-0f5930505449" xlink:to="loc_cpsi_FinancialAsset1To90DaysPastDueMember_65d2a3b8-b015-4cde-aec6-9ba1c36da29a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset91To180DaysPastDueMember_af5cb2dd-2b71-449d-ab11-88fcef1f8eeb" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset91To180DaysPastDueMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_18b6e590-9033-4b26-8c03-0f5930505449" xlink:to="loc_cpsi_FinancialAsset91To180DaysPastDueMember_af5cb2dd-2b71-449d-ab11-88fcef1f8eeb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset181OrMoreDaysPastDueMember_b657c64e-9fe4-40cd-8ff1-57a7126db81d" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset181OrMoreDaysPastDueMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_18b6e590-9033-4b26-8c03-0f5930505449" xlink:to="loc_cpsi_FinancialAsset181OrMoreDaysPastDueMember_b657c64e-9fe4-40cd-8ff1-57a7126db81d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_2a899427-b06f-4ab4-aebb-a375274c1676" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_646268e2-74eb-47d6-8560-bb7507a1da85" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_2a899427-b06f-4ab4-aebb-a375274c1676" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableGross_9ec05f06-f76b-4b3e-81e8-e6ae3ddd806a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_2a899427-b06f-4ab4-aebb-a375274c1676" xlink:to="loc_us-gaap_NotesReceivableGross_9ec05f06-f76b-4b3e-81e8-e6ae3ddd806a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_6a42e86e-2984-486d-91ac-1e2f2d6f21bb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancingReceivableCreditQualityIndicatorsAbstract_0a47a3ea-c706-4f3e-9ee9-08540d5a1208" xlink:href="cpsi-20211231.xsd#cpsi_FinancingReceivableCreditQualityIndicatorsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_6a42e86e-2984-486d-91ac-1e2f2d6f21bb" xlink:to="loc_cpsi_FinancingReceivableCreditQualityIndicatorsAbstract_0a47a3ea-c706-4f3e-9ee9-08540d5a1208" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_c6409c47-4914-4763-9bdf-a2ef63871a18" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFinancingReceivablesPastDueTable"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_6a42e86e-2984-486d-91ac-1e2f2d6f21bb" xlink:to="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_c6409c47-4914-4763-9bdf-a2ef63871a18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9e07dd76-d321-4771-994f-f0f7c4156f53" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_c6409c47-4914-4763-9bdf-a2ef63871a18" xlink:to="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9e07dd76-d321-4771-994f-f0f7c4156f53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_4a6a02be-12f2-4a00-90cb-537765279b18" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivablesPeriodPastDueDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueAxis_9e07dd76-d321-4771-994f-f0f7c4156f53" xlink:to="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_4a6a02be-12f2-4a00-90cb-537765279b18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialAssetPastDueMember_a0c45959-ee0a-4592-bcd6-3943a2b6d57b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialAssetPastDueMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_4a6a02be-12f2-4a00-90cb-537765279b18" xlink:to="loc_us-gaap_FinancialAssetPastDueMember_a0c45959-ee0a-4592-bcd6-3943a2b6d57b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset1To90DaysPastDueMember_746b652a-bf1b-43c1-a409-6d192e33ad81" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset1To90DaysPastDueMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_a0c45959-ee0a-4592-bcd6-3943a2b6d57b" xlink:to="loc_cpsi_FinancialAsset1To90DaysPastDueMember_746b652a-bf1b-43c1-a409-6d192e33ad81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset91To180DaysPastDueMember_2a482c29-f904-4c10-92b7-4f650b017d9c" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset91To180DaysPastDueMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_a0c45959-ee0a-4592-bcd6-3943a2b6d57b" xlink:to="loc_cpsi_FinancialAsset91To180DaysPastDueMember_2a482c29-f904-4c10-92b7-4f650b017d9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancialAsset181OrMoreDaysPastDueMember_fd88b6cb-8d3c-4967-a450-b3f319143f8c" xlink:href="cpsi-20211231.xsd#cpsi_FinancialAsset181OrMoreDaysPastDueMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialAssetPastDueMember_a0c45959-ee0a-4592-bcd6-3943a2b6d57b" xlink:to="loc_cpsi_FinancialAsset181OrMoreDaysPastDueMember_fd88b6cb-8d3c-4967-a450-b3f319143f8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancialAssetNotPastDueMember_12dee6dc-f81c-42f2-933d-1eb5dd49f636" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancialAssetNotPastDueMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivablesPeriodPastDueDomain_4a6a02be-12f2-4a00-90cb-537765279b18" xlink:to="loc_us-gaap_FinancialAssetNotPastDueMember_12dee6dc-f81c-42f2-933d-1eb5dd49f636" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_eff97c4d-54e9-441c-a264-89c79f0b9452" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_c6409c47-4914-4763-9bdf-a2ef63871a18" xlink:to="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_eff97c4d-54e9-441c-a264-89c79f0b9452" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivableTypeDomain_bbced3ec-1855-4ce0-9f9c-89a1cd61c971" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivableTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_eff97c4d-54e9-441c-a264-89c79f0b9452" xlink:to="loc_us-gaap_ReceivableTypeDomain_bbced3ec-1855-4ce0-9f9c-89a1cd61c971" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAccountsReceivableMember_0b46ec2d-02ab-475f-bd8c-c2c8fbbc57db" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeAccountsReceivableMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivableTypeDomain_bbced3ec-1855-4ce0-9f9c-89a1cd61c971" xlink:to="loc_us-gaap_TradeAccountsReceivableMember_0b46ec2d-02ab-475f-bd8c-c2c8fbbc57db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFinancingReceivablesPastDueTable_c6409c47-4914-4763-9bdf-a2ef63871a18" xlink:to="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableGross_c0c8a2c1-bbe9-43d5-a067-04dbde4b1f65" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:to="loc_us-gaap_NotesReceivableGross_c0c8a2c1-bbe9-43d5-a067-04dbde4b1f65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess_743c1ba5-e089-4cad-89de-59c2472c3bbb" xlink:href="cpsi-20211231.xsd#cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:to="loc_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess_743c1ba5-e089-4cad-89de-59c2472c3bbb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_130767d6-acbe-4aac-9096-d607b074926a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinancingReceivableAllowanceForCreditLosses"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLosses_130767d6-acbe-4aac-9096-d607b074926a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableNet_94553c56-2e96-4b6d-a459-22240c0a17ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesReceivableNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems_4a2a1673-3d94-4447-9608-82aee159c5db" xlink:to="loc_us-gaap_NotesReceivableNet_94553c56-2e96-4b6d-a459-22240c0a17ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwill" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IntangibleAssetsandGoodwill"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IntangibleAssetsandGoodwill" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_e30a1004-0396-4d21-b967-768d7d474be1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_9a6f5081-7235-4391-960a-edc84d131f69" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_e30a1004-0396-4d21-b967-768d7d474be1" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_9a6f5081-7235-4391-960a-edc84d131f69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IntangibleAssetsandGoodwillTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_ab864c4d-7e66-4b8e-a715-4260d849e19e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_e9d544e7-8a80-42b8-9d06-9dbdebe3e8a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_ab864c4d-7e66-4b8e-a715-4260d849e19e" xlink:to="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_e9d544e7-8a80-42b8-9d06-9dbdebe3e8a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_30b6d86b-912e-42f9-89f2-a610ed109a96" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_ab864c4d-7e66-4b8e-a715-4260d849e19e" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_30b6d86b-912e-42f9-89f2-a610ed109a96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_07b8f62b-3c8d-413d-b8fe-d62ab5e43231" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_ab864c4d-7e66-4b8e-a715-4260d849e19e" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_07b8f62b-3c8d-413d-b8fe-d62ab5e43231" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d63803ae-90a3-4348-92f9-2f63c74ed674" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_25c9175c-2623-465e-81e3-9ba35ebd52d5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_d63803ae-90a3-4348-92f9-2f63c74ed674" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_25c9175c-2623-465e-81e3-9ba35ebd52d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a2e0166e-81cb-4e86-a8a0-3bfd70b5dacf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_25c9175c-2623-465e-81e3-9ba35ebd52d5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a2e0166e-81cb-4e86-a8a0-3bfd70b5dacf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_307f643b-367e-46d7-ae6a-e51b974c7da9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a2e0166e-81cb-4e86-a8a0-3bfd70b5dacf" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_307f643b-367e-46d7-ae6a-e51b974c7da9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_e733ac18-89ff-4481-9a06-1116da2700b8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_307f643b-367e-46d7-ae6a-e51b974c7da9" xlink:to="loc_us-gaap_CustomerRelationshipsMember_e733ac18-89ff-4481-9a06-1116da2700b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_a49da678-82af-4409-893c-15c2c73490d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TrademarksMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_307f643b-367e-46d7-ae6a-e51b974c7da9" xlink:to="loc_us-gaap_TrademarksMember_a49da678-82af-4409-893c-15c2c73490d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_b5c20912-1f89-49bb-a45c-1183afb25810" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_307f643b-367e-46d7-ae6a-e51b974c7da9" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_b5c20912-1f89-49bb-a45c-1183afb25810" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_25c9175c-2623-465e-81e3-9ba35ebd52d5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_10a8c557-dd3a-43c7-8960-9fdb97118935" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_10a8c557-dd3a-43c7-8960-9fdb97118935" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_df12f852-03bc-44cb-b235-efab396cb708" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:to="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_df12f852-03bc-44cb-b235-efab396cb708" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_dd1c4d57-7976-42c9-b423-08da5acfb61d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_dd1c4d57-7976-42c9-b423-08da5acfb61d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c4804845-2c46-4f26-9433-0f2426a2aed7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c4804845-2c46-4f26-9433-0f2426a2aed7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_220b4f65-d5ec-40b2-aa3d-29879fef833a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_330924cf-0e40-4eb8-b2bd-dd2c499ca160" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_220b4f65-d5ec-40b2-aa3d-29879fef833a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IntangibleAssetsandGoodwillAmortizationDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_335faaf7-6911-47ff-9a68-5b6952dd87bb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_7db8e41a-9111-4d77-8a88-a10b8817b835" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_335faaf7-6911-47ff-9a68-5b6952dd87bb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_7db8e41a-9111-4d77-8a88-a10b8817b835" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_ff77a722-2d5d-4895-989a-ade720d886a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_335faaf7-6911-47ff-9a68-5b6952dd87bb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_ff77a722-2d5d-4895-989a-ade720d886a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_cb114370-535d-4cdd-a85c-f495affeb19d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_335faaf7-6911-47ff-9a68-5b6952dd87bb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_cb114370-535d-4cdd-a85c-f495affeb19d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_64074df1-468a-41ae-8f97-cab59016ad9d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_335faaf7-6911-47ff-9a68-5b6952dd87bb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_64074df1-468a-41ae-8f97-cab59016ad9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_bc6d440e-4c16-42f4-8521-3ebfdfc23d90" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_335faaf7-6911-47ff-9a68-5b6952dd87bb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_bc6d440e-4c16-42f4-8521-3ebfdfc23d90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_abc17c51-35f6-4f1a-a01e-be825b21caf2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_335faaf7-6911-47ff-9a68-5b6952dd87bb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_abc17c51-35f6-4f1a-a01e-be825b21caf2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_62fdecba-0dc0-417d-94e7-7429bd75bc70" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_335faaf7-6911-47ff-9a68-5b6952dd87bb" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_62fdecba-0dc0-417d-94e7-7429bd75bc70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IntangibleAssetsandGoodwillScheduleofGoodwillDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_cf1343d0-f4d8-4ce3-94c1-170aa61d83d3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_5ca48f42-509a-46a4-bcd8-a547f0ebaeae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_cf1343d0-f4d8-4ce3-94c1-170aa61d83d3" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_5ca48f42-509a-46a4-bcd8-a547f0ebaeae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_3d0eb6ac-e234-4925-b6c6-aa07ee84eb61" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_5ca48f42-509a-46a4-bcd8-a547f0ebaeae" xlink:to="loc_srt_ConsolidationItemsAxis_3d0eb6ac-e234-4925-b6c6-aa07ee84eb61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_344729b0-6e0d-4fc9-abbc-d8d2a182c22b" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_3d0eb6ac-e234-4925-b6c6-aa07ee84eb61" xlink:to="loc_srt_ConsolidationItemsDomain_344729b0-6e0d-4fc9-abbc-d8d2a182c22b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_05bc6a3c-3e44-4207-b9ba-22eee57e9a25" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_344729b0-6e0d-4fc9-abbc-d8d2a182c22b" xlink:to="loc_us-gaap_OperatingSegmentsMember_05bc6a3c-3e44-4207-b9ba-22eee57e9a25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_3a4c2eb1-1e95-4e55-99d7-28059e93c7c6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_5ca48f42-509a-46a4-bcd8-a547f0ebaeae" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_3a4c2eb1-1e95-4e55-99d7-28059e93c7c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_8c04976a-d889-43e5-bda3-39eec2100a19" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_3a4c2eb1-1e95-4e55-99d7-28059e93c7c6" xlink:to="loc_us-gaap_SegmentDomain_8c04976a-d889-43e5-bda3-39eec2100a19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AcuteCareMember_9c2efa90-7655-4fa8-a63a-6f2a5e1e16a4" xlink:href="cpsi-20211231.xsd#cpsi_AcuteCareMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_8c04976a-d889-43e5-bda3-39eec2100a19" xlink:to="loc_cpsi_AcuteCareMember_9c2efa90-7655-4fa8-a63a-6f2a5e1e16a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PostAcuteCareMember_8c97a2c2-1119-4e6c-8e47-ec39094b4909" xlink:href="cpsi-20211231.xsd#cpsi_PostAcuteCareMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_8c04976a-d889-43e5-bda3-39eec2100a19" xlink:to="loc_cpsi_PostAcuteCareMember_8c97a2c2-1119-4e6c-8e47-ec39094b4909" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_BusinessManagementConsultingandManagedITServicesMember_f1f2be32-b3d1-4439-abec-80bd2148534a" xlink:href="cpsi-20211231.xsd#cpsi_BusinessManagementConsultingandManagedITServicesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_8c04976a-d889-43e5-bda3-39eec2100a19" xlink:to="loc_cpsi_BusinessManagementConsultingandManagedITServicesMember_f1f2be32-b3d1-4439-abec-80bd2148534a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_c470cc4f-de94-4652-838d-b9dc1c601b66" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_5ca48f42-509a-46a4-bcd8-a547f0ebaeae" xlink:to="loc_us-gaap_GoodwillLineItems_c470cc4f-de94-4652-838d-b9dc1c601b66" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_d077e184-f1d4-4ea8-bf44-79acdb0c0f93" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_c470cc4f-de94-4652-838d-b9dc1c601b66" xlink:to="loc_us-gaap_GoodwillRollForward_d077e184-f1d4-4ea8-bf44-79acdb0c0f93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_47514852-a4ce-46f6-8b85-8d8ae7803dd3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_d077e184-f1d4-4ea8-bf44-79acdb0c0f93" xlink:to="loc_us-gaap_Goodwill_47514852-a4ce-46f6-8b85-8d8ae7803dd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_25f9305c-c103-4892-abb1-a54e187df892" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_d077e184-f1d4-4ea8-bf44-79acdb0c0f93" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_25f9305c-c103-4892-abb1-a54e187df892" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_495869b4-8574-4de8-9877-7fe120328c52" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_d077e184-f1d4-4ea8-bf44-79acdb0c0f93" xlink:to="loc_us-gaap_Goodwill_495869b4-8574-4de8-9877-7fe120328c52" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#IntangibleAssetsandGoodwillNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/IntangibleAssetsandGoodwillNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_e083091b-5aa8-4813-8f28-694e6a48180e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss_2b3fcf4a-80ee-4ad0-af78-bbecebac816a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_e083091b-5aa8-4813-8f28-694e6a48180e" xlink:to="loc_us-gaap_GoodwillImpairmentLoss_2b3fcf4a-80ee-4ad0-af78-bbecebac816a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebt" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebt"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/LongTermDebt" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_d87de39e-3886-4801-b57a-6fba9de9921a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock_da1d52de-69c5-4589-955b-347e253a870b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_d87de39e-3886-4801-b57a-6fba9de9921a" xlink:to="loc_us-gaap_DebtDisclosureTextBlock_da1d52de-69c5-4589-955b-347e253a870b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebtTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebtTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/LongTermDebtTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_1c8fa21d-989f-4d69-865e-1a1564c52732" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_2aaa02fc-2674-4db3-8d3c-53294ccbc512" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_1c8fa21d-989f-4d69-865e-1a1564c52732" xlink:to="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_2aaa02fc-2674-4db3-8d3c-53294ccbc512" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_69856653-2def-4280-a673-4b14679b9c3d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_1c8fa21d-989f-4d69-865e-1a1564c52732" xlink:to="loc_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_69856653-2def-4280-a673-4b14679b9c3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebtScheduleofDebtDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_47a14dd6-652c-4804-97a1-6322cd48eada" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_ff88681b-ac09-4fb4-9103-e2e626dd0e56" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_47a14dd6-652c-4804-97a1-6322cd48eada" xlink:to="loc_us-gaap_DebtInstrumentTable_ff88681b-ac09-4fb4-9103-e2e626dd0e56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_a574a3e2-812e-4db0-8d7d-400f1de337a5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_ff88681b-ac09-4fb4-9103-e2e626dd0e56" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_a574a3e2-812e-4db0-8d7d-400f1de337a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_dd4c4f65-f517-471c-a06b-420726e6da84" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_a574a3e2-812e-4db0-8d7d-400f1de337a5" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_dd4c4f65-f517-471c-a06b-420726e6da84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_84f8f617-fcb2-43ca-8e5d-98be3a17c4a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_dd4c4f65-f517-471c-a06b-420726e6da84" xlink:to="loc_us-gaap_LineOfCreditMember_84f8f617-fcb2-43ca-8e5d-98be3a17c4a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_35b15401-712f-488f-a20d-4a608ffffab3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_ff88681b-ac09-4fb4-9103-e2e626dd0e56" xlink:to="loc_us-gaap_CreditFacilityAxis_35b15401-712f-488f-a20d-4a608ffffab3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_9dd01f4d-c47e-4c61-9f8e-ce63be576621" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_35b15401-712f-488f-a20d-4a608ffffab3" xlink:to="loc_us-gaap_CreditFacilityDomain_9dd01f4d-c47e-4c61-9f8e-ce63be576621" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TermLoanFacilityMember_2c2cd5be-c911-4b49-a2f7-838f7317d825" xlink:href="cpsi-20211231.xsd#cpsi_TermLoanFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_9dd01f4d-c47e-4c61-9f8e-ce63be576621" xlink:to="loc_cpsi_TermLoanFacilityMember_2c2cd5be-c911-4b49-a2f7-838f7317d825" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_de7b266e-cf6e-4dcb-a27b-cfa1a06148b6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_9dd01f4d-c47e-4c61-9f8e-ce63be576621" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_de7b266e-cf6e-4dcb-a27b-cfa1a06148b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_ff88681b-ac09-4fb4-9103-e2e626dd0e56" xlink:to="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_85e3e47a-2bcf-4052-b370-5ff0e7559ace" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_85e3e47a-2bcf-4052-b370-5ff0e7559ace" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_8785c095-e37f-4f39-9b9f-23555b934f10" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_8785c095-e37f-4f39-9b9f-23555b934f10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_cabbc0b5-7eae-4971-9565-2877cba85cde" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:to="loc_us-gaap_LongTermDebt_cabbc0b5-7eae-4971-9565-2877cba85cde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_fb7d3d39-4c07-44dd-a221-cd51f24e6452" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:to="loc_us-gaap_LongTermDebtCurrent_fb7d3d39-4c07-44dd-a221-cd51f24e6452" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_203eb22f-b798-4953-8b70-c6623d8ae861" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_f0f79e97-c5cd-4586-aba4-b29bf62554bc" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_203eb22f-b798-4953-8b70-c6623d8ae861" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails_1" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebtScheduleofDebtDetails_1"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebtNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebtNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/LongTermDebtNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_04894235-f98c-4046-9553-994a59aea3c8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_04894235-f98c-4046-9553-994a59aea3c8" xlink:to="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_59c3c418-1e0b-4b2e-aabb-5dd5c1a07083" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_59c3c418-1e0b-4b2e-aabb-5dd5c1a07083" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_e810ddc9-f0a6-41d3-8771-b9edc694b44c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_59c3c418-1e0b-4b2e-aabb-5dd5c1a07083" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_e810ddc9-f0a6-41d3-8771-b9edc694b44c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_06c2d4e5-9d3e-416e-b29b-0e9365fb1398" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_e810ddc9-f0a6-41d3-8771-b9edc694b44c" xlink:to="loc_us-gaap_LineOfCreditMember_06c2d4e5-9d3e-416e-b29b-0e9365fb1398" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_2911b359-5831-4a82-b3cb-212aa5d49566" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:to="loc_us-gaap_CreditFacilityAxis_2911b359-5831-4a82-b3cb-212aa5d49566" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_7a37efbf-3ca6-4271-81ea-cc7b552c3779" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_2911b359-5831-4a82-b3cb-212aa5d49566" xlink:to="loc_us-gaap_CreditFacilityDomain_7a37efbf-3ca6-4271-81ea-cc7b552c3779" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TermLoanFacilityMember_7af57ea4-ba56-454f-a91a-99d6f09877e4" xlink:href="cpsi-20211231.xsd#cpsi_TermLoanFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_7a37efbf-3ca6-4271-81ea-cc7b552c3779" xlink:to="loc_cpsi_TermLoanFacilityMember_7af57ea4-ba56-454f-a91a-99d6f09877e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_2b0ad08b-73fd-46a4-a610-787eafc0e758" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_7a37efbf-3ca6-4271-81ea-cc7b552c3779" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_2b0ad08b-73fd-46a4-a610-787eafc0e758" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AmendedAndRestatedCreditAgreementMember_573cd654-772b-4637-b81b-00fef0aaf836" xlink:href="cpsi-20211231.xsd#cpsi_AmendedAndRestatedCreditAgreementMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_7a37efbf-3ca6-4271-81ea-cc7b552c3779" xlink:to="loc_cpsi_AmendedAndRestatedCreditAgreementMember_573cd654-772b-4637-b81b-00fef0aaf836" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_9a88b2b1-4866-4a42-a158-24eaa27912f5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:to="loc_us-gaap_VariableRateAxis_9a88b2b1-4866-4a42-a158-24eaa27912f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_4890a150-f7e9-4535-af90-b3d264709417" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateAxis_9a88b2b1-4866-4a42-a158-24eaa27912f5" xlink:to="loc_us-gaap_VariableRateDomain_4890a150-f7e9-4535-af90-b3d264709417" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FederalFundsEffectiveSwapRateMember_66a1a0df-520a-40a5-b5b5-3366ac351aad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FederalFundsEffectiveSwapRateMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_4890a150-f7e9-4535-af90-b3d264709417" xlink:to="loc_us-gaap_FederalFundsEffectiveSwapRateMember_66a1a0df-520a-40a5-b5b5-3366ac351aad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_a0450870-fd53-48c6-aa82-0d9b90bf661e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_4890a150-f7e9-4535-af90-b3d264709417" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_a0450870-fd53-48c6-aa82-0d9b90bf661e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_6caee2fd-9e78-4452-8e1f-53462f84a135" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BaseRateMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_4890a150-f7e9-4535-af90-b3d264709417" xlink:to="loc_us-gaap_BaseRateMember_6caee2fd-9e78-4452-8e1f-53462f84a135" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_3d32a3c5-c608-4cda-a636-95f786472da9" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:to="loc_srt_RangeAxis_3d32a3c5-c608-4cda-a636-95f786472da9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_76187e31-0679-4188-91da-2c294343ab71" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_3d32a3c5-c608-4cda-a636-95f786472da9" xlink:to="loc_srt_RangeMember_76187e31-0679-4188-91da-2c294343ab71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_ed963372-e245-4019-87f1-5f8c7ad3a0f5" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_76187e31-0679-4188-91da-2c294343ab71" xlink:to="loc_srt_MinimumMember_ed963372-e245-4019-87f1-5f8c7ad3a0f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_3d387075-e258-49a8-a651-b5fe4a315915" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_76187e31-0679-4188-91da-2c294343ab71" xlink:to="loc_srt_MaximumMember_3d387075-e258-49a8-a651-b5fe4a315915" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis_5058d493-ad18-407b-84ce-4f2794ee09b9" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementScenarioAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:to="loc_srt_StatementScenarioAxis_5058d493-ad18-407b-84ce-4f2794ee09b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_8e99a6f9-4a54-45d5-b357-9e76ebf8db86" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementScenarioAxis_5058d493-ad18-407b-84ce-4f2794ee09b9" xlink:to="loc_srt_ScenarioUnspecifiedDomain_8e99a6f9-4a54-45d5-b357-9e76ebf8db86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember_56161bbb-df41-414f-8227-67d57fe64c6a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioForecastMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ScenarioUnspecifiedDomain_8e99a6f9-4a54-45d5-b357-9e76ebf8db86" xlink:to="loc_srt_ScenarioForecastMember_56161bbb-df41-414f-8227-67d57fe64c6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c6d996b1-44dc-4523-acf0-33bc2fa25acf" xlink:to="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_ddeec7d4-e114-4c0e-8280-60af53d9eb12" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_ddeec7d4-e114-4c0e-8280-60af53d9eb12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_9f8a9511-5abc-4324-b3c3-8f1aa8e683cb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_9f8a9511-5abc-4324-b3c3-8f1aa8e683cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentPeriodicPaymentPrincipal_55d5e4ad-ddb8-4eb9-9335-3e3e8809dbc6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentPeriodicPaymentPrincipal"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_us-gaap_DebtInstrumentPeriodicPaymentPrincipal_55d5e4ad-ddb8-4eb9-9335-3e3e8809dbc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit_15d06a54-4487-4a67-97e0-32daaf859164" xlink:href="cpsi-20211231.xsd#cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit_15d06a54-4487-4a67-97e0-32daaf859164" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum_103e2973-b9cd-47c8-80b5-7783ed2523e0" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum_103e2973-b9cd-47c8-80b5-7783ed2523e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum_15f13b36-4c6d-4977-b77b-3e301303dd18" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum_15f13b36-4c6d-4977-b77b-3e301303dd18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage_aea69069-ba9c-43cd-b476-3aff4d6b3261" xlink:href="cpsi-20211231.xsd#cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage_aea69069-ba9c-43cd-b476-3aff4d6b3261" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio_59cf814e-766a-4737-a6b9-e37385f42e3a" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtCovenantConsolidatedLeverageRatio"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_6c2f2000-0001-4d3a-a6a8-af827e19d703" xlink:to="loc_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio_59cf814e-766a-4737-a6b9-e37385f42e3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#LongTermDebtAnticipatedAnnualFutureMaturitiesDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_cb7c8317-4d92-4ae7-b421-75bca46df9e9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_540ebb63-8e10-4d48-b556-7ef93364fc39" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_cb7c8317-4d92-4ae7-b421-75bca46df9e9" xlink:to="loc_us-gaap_DebtInstrumentTable_540ebb63-8e10-4d48-b556-7ef93364fc39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_463333da-d450-41ed-9e94-28948d5aabb3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_540ebb63-8e10-4d48-b556-7ef93364fc39" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_463333da-d450-41ed-9e94-28948d5aabb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_d807acfc-75f0-452b-b9fd-a51c3c0dc310" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_463333da-d450-41ed-9e94-28948d5aabb3" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_d807acfc-75f0-452b-b9fd-a51c3c0dc310" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_d3e70dde-1375-478d-81df-87f5c7c7af61" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_d807acfc-75f0-452b-b9fd-a51c3c0dc310" xlink:to="loc_us-gaap_LineOfCreditMember_d3e70dde-1375-478d-81df-87f5c7c7af61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_540ebb63-8e10-4d48-b556-7ef93364fc39" xlink:to="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_3fc0abc5-7112-443f-b601-464b64cabb5a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_3fc0abc5-7112-443f-b601-464b64cabb5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_d7f4ff96-7228-4c8f-971b-1e95233074a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_d7f4ff96-7228-4c8f-971b-1e95233074a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_70bb711d-353c-4ebe-8499-fda3a776f1af" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_70bb711d-353c-4ebe-8499-fda3a776f1af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_8d7b60bb-f48a-4e6f-bff4-9a21bbc3eefb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_8d7b60bb-f48a-4e6f-bff4-9a21bbc3eefb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LongTermDebtMaturityAfterYearFour_62a44a3b-4de5-4d8a-b617-0020160aa9b4" xlink:href="cpsi-20211231.xsd#cpsi_LongTermDebtMaturityAfterYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_cpsi_LongTermDebtMaturityAfterYearFour_62a44a3b-4de5-4d8a-b617-0020160aa9b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_449dfed2-a40a-4d8a-bf2f-972df12f9a51" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermDebt"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_09eba90d-d0c5-44f4-a67f-c29984315256" xlink:to="loc_us-gaap_LongTermDebt_449dfed2-a40a-4d8a-bf2f-972df12f9a51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BenefitPlans" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BenefitPlans"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/BenefitPlans" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_1269dcb1-6fb4-4aaf-bc44-2aad9b981b88" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_a7b52ff9-1e05-407a-9d3c-eee01c725dbf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_1269dcb1-6fb4-4aaf-bc44-2aad9b981b88" xlink:to="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_a7b52ff9-1e05-407a-9d3c-eee01c725dbf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/BenefitPlansDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#BenefitPlansDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/BenefitPlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_0f1369ed-5948-4631-bc77-8d4cdc2bd761" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanTable_08de6905-ad45-4c82-911c-ca590ecba8fd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_0f1369ed-5948-4631-bc77-8d4cdc2bd761" xlink:to="loc_us-gaap_DefinedContributionPlanTable_08de6905-ad45-4c82-911c-ca590ecba8fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanNameAxis_db3418ac-a4d5-4861-8c75-e4964a284732" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetirementPlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedContributionPlanTable_08de6905-ad45-4c82-911c-ca590ecba8fd" xlink:to="loc_us-gaap_RetirementPlanNameAxis_db3418ac-a4d5-4861-8c75-e4964a284732" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanNameDomain_628efda4-7dbe-4784-a01e-8c86aa0e228c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetirementPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanNameAxis_db3418ac-a4d5-4861-8c75-e4964a284732" xlink:to="loc_us-gaap_RetirementPlanNameDomain_628efda4-7dbe-4784-a01e-8c86aa0e228c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_CPSI401kRetirementPlanMember_097978f5-8e9b-4796-a15e-2cf2ddcf8f1a" xlink:href="cpsi-20211231.xsd#cpsi_CPSI401kRetirementPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanNameDomain_628efda4-7dbe-4784-a01e-8c86aa0e228c" xlink:to="loc_cpsi_CPSI401kRetirementPlanMember_097978f5-8e9b-4796-a15e-2cf2ddcf8f1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_b421bc19-5afc-4b2e-93eb-e0efa3b90691" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedContributionPlanTable_08de6905-ad45-4c82-911c-ca590ecba8fd" xlink:to="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_b421bc19-5afc-4b2e-93eb-e0efa3b90691" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum_7d39cdb3-06f2-4b88-aba3-3c7ba0417301" xlink:href="cpsi-20211231.xsd#cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_b421bc19-5afc-4b2e-93eb-e0efa3b90691" xlink:to="loc_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum_7d39cdb3-06f2-4b88-aba3-3c7ba0417301" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_83b4f1a7-3ba2-474f-9cf6-b59e0d921867" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedContributionPlanDisclosureLineItems_b421bc19-5afc-4b2e-93eb-e0efa3b90691" xlink:to="loc_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_83b4f1a7-3ba2-474f-9cf6-b59e0d921867" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OperatingLeases" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OperatingLeases"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/OperatingLeases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_9db78f0c-d3a1-4ff9-b23b-0487a445ad1a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_7c14c621-b04f-418e-bdb6-8623bf06a4da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_9db78f0c-d3a1-4ff9-b23b-0487a445ad1a" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_7c14c621-b04f-418e-bdb6-8623bf06a4da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OperatingLeasesTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OperatingLeasesTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/OperatingLeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_83bbc45c-4f84-4322-a1b8-df06ad00b043" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock_2353ddaf-133b-41e1-af46-2e03f80656e7" xlink:href="cpsi-20211231.xsd#cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_83bbc45c-4f84-4322-a1b8-df06ad00b043" xlink:to="loc_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock_2353ddaf-133b-41e1-af46-2e03f80656e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_78d912ea-c54b-42f4-ad40-997a0c19492e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_83bbc45c-4f84-4322-a1b8-df06ad00b043" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_78d912ea-c54b-42f4-ad40-997a0c19492e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OperatingLeasesSupplementalBalanceSheetInformationDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_cf815d66-0f3b-4cc2-9695-26ea49d8e353" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_1158fc46-fb6b-4ee7-975f-c3ef97f396bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cf815d66-0f3b-4cc2-9695-26ea49d8e353" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_1158fc46-fb6b-4ee7-975f-c3ef97f396bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_0e736b22-e002-42f2-b654-2f50b24ef31d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cf815d66-0f3b-4cc2-9695-26ea49d8e353" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_0e736b22-e002-42f2-b654-2f50b24ef31d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_d3bca8a8-0f81-46a3-aa8e-510a612e0301" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent_0e736b22-e002-42f2-b654-2f50b24ef31d" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_d3bca8a8-0f81-46a3-aa8e-510a612e0301" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_7234e4b4-b855-47b6-aef3-3cda7ebc3409" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cf815d66-0f3b-4cc2-9695-26ea49d8e353" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_7234e4b4-b855-47b6-aef3-3cda7ebc3409" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_24ca3016-3741-46bf-9d36-c85c48828a95" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cf815d66-0f3b-4cc2-9695-26ea49d8e353" xlink:to="loc_us-gaap_OperatingLeaseLiability_24ca3016-3741-46bf-9d36-c85c48828a95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_327900a4-3668-4e9d-94fd-14402d6578c8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cf815d66-0f3b-4cc2-9695-26ea49d8e353" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_327900a4-3668-4e9d-94fd-14402d6578c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_2b77164b-fc95-4f62-a1f0-fed9570f1b2d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cf815d66-0f3b-4cc2-9695-26ea49d8e353" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_2b77164b-fc95-4f62-a1f0-fed9570f1b2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_f4fcc06b-b886-4a40-9e87-5984681f89b1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_7fd3e159-3d35-4baf-acf6-779f57ac6818" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f4fcc06b-b886-4a40-9e87-5984681f89b1" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_7fd3e159-3d35-4baf-acf6-779f57ac6818" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_1b21f2c6-5dea-419b-a918-2b29f524e3a2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f4fcc06b-b886-4a40-9e87-5984681f89b1" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_1b21f2c6-5dea-419b-a918-2b29f524e3a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_f1c65ab6-80cd-45b1-95c0-1707b880d8c3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f4fcc06b-b886-4a40-9e87-5984681f89b1" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_f1c65ab6-80cd-45b1-95c0-1707b880d8c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_238605dd-34af-4856-a743-b4faea34e09a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f4fcc06b-b886-4a40-9e87-5984681f89b1" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_238605dd-34af-4856-a743-b4faea34e09a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_a75b4105-cd00-4f23-81f0-d95269b39c21" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f4fcc06b-b886-4a40-9e87-5984681f89b1" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_a75b4105-cd00-4f23-81f0-d95269b39c21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_3260dcf3-c851-484d-b7f1-6c3e0b3a3bd5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f4fcc06b-b886-4a40-9e87-5984681f89b1" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_3260dcf3-c851-484d-b7f1-6c3e0b3a3bd5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_030bc737-c7fc-4e45-9dcd-f8f9fea9c843" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f4fcc06b-b886-4a40-9e87-5984681f89b1" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_030bc737-c7fc-4e45-9dcd-f8f9fea9c843" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_9dfc47a2-b41a-44e8-88c2-eba6dc7b4a8d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f4fcc06b-b886-4a40-9e87-5984681f89b1" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_9dfc47a2-b41a-44e8-88c2-eba6dc7b4a8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_7f4c3c44-bcf1-46dc-9f5d-ab6ee6532938" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f4fcc06b-b886-4a40-9e87-5984681f89b1" xlink:to="loc_us-gaap_OperatingLeaseLiability_7f4c3c44-bcf1-46dc-9f5d-ab6ee6532938" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails_1" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails_1"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.cpsinet.com/role/OperatingLeasesNarrativeDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#OperatingLeasesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/OperatingLeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_a64cdac7-957d-41c1-8081-e1d4cd398fae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AreaOfRealEstateProperty_18cc3ae5-c976-44f5-9879-d2cf0ee3f739" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AreaOfRealEstateProperty"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_a64cdac7-957d-41c1-8081-e1d4cd398fae" xlink:to="loc_us-gaap_AreaOfRealEstateProperty_18cc3ae5-c976-44f5-9879-d2cf0ee3f739" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PaymentsOnEarlyTerminationOfLease_f6d40a94-819a-4055-995a-a59ce8cd5e44" xlink:href="cpsi-20211231.xsd#cpsi_PaymentsOnEarlyTerminationOfLease"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_a64cdac7-957d-41c1-8081-e1d4cd398fae" xlink:to="loc_cpsi_PaymentsOnEarlyTerminationOfLease_f6d40a94-819a-4055-995a-a59ce8cd5e44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnTerminationOfLease_2780cf0d-a78b-4890-b74c-a361cc153f3a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnTerminationOfLease"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_a64cdac7-957d-41c1-8081-e1d4cd398fae" xlink:to="loc_us-gaap_GainLossOnTerminationOfLease_2780cf0d-a78b-4890-b74c-a361cc153f3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_c8cf1a8a-50ea-4c61-afe1-af4e4cbe6ee1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCost"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_a64cdac7-957d-41c1-8081-e1d4cd398fae" xlink:to="loc_us-gaap_LeaseCost_c8cf1a8a-50ea-4c61-afe1-af4e4cbe6ee1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments_79e6d4a8-b4b9-4ca2-b446-3af10a62d14a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeasePayments"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_a64cdac7-957d-41c1-8081-e1d4cd398fae" xlink:to="loc_us-gaap_OperatingLeasePayments_79e6d4a8-b4b9-4ca2-b446-3af10a62d14a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/CommitmentsandContingencies" xlink:type="simple" xlink:href="cpsi-20211231.xsd#CommitmentsandContingencies"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/CommitmentsandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_6fb58b93-829c-43dc-8437-cc4c5b85e8e3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_b9bea0bb-d184-4c6e-b1a0-5e2de1c336d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_6fb58b93-829c-43dc-8437-cc4c5b85e8e3" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_b9bea0bb-d184-4c6e-b1a0-5e2de1c336d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FairValue" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FairValue"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FairValue" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_93593135-feda-4fd9-8061-a72bcf9e8104" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_904492e3-89d6-467c-ab49-1248295f198e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_93593135-feda-4fd9-8061-a72bcf9e8104" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_904492e3-89d6-467c-ab49-1248295f198e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FairValueTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FairValueTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FairValueTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_4731d487-95d5-4715-ab50-d2317b2be575" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_2b2592e9-313e-4834-a53e-90e583cf5b92" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_4731d487-95d5-4715-ab50-d2317b2be575" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_2b2592e9-313e-4834-a53e-90e583cf5b92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/FairValueDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#FairValueDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/FairValueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_4a6d2c20-85e9-40e3-bb1a-5d0ab736a85b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_277c546a-b68f-43f3-a67a-8c1f825fee56" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_4a6d2c20-85e9-40e3-bb1a-5d0ab736a85b" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_277c546a-b68f-43f3-a67a-8c1f825fee56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementBasisAxis_5f993a4d-6cb2-4bc9-b657-b62f733bb2b5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementBasisAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_277c546a-b68f-43f3-a67a-8c1f825fee56" xlink:to="loc_us-gaap_FairValueByMeasurementBasisAxis_5f993a4d-6cb2-4bc9-b657-b62f733bb2b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosureItemAmountsDomain_bd9db92f-a55f-4780-a45b-307f5f33cfb3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosureItemAmountsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementBasisAxis_5f993a4d-6cb2-4bc9-b657-b62f733bb2b5" xlink:to="loc_us-gaap_FairValueDisclosureItemAmountsDomain_bd9db92f-a55f-4780-a45b-307f5f33cfb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_c4d38115-c1cf-40a7-9f46-7521cd4d41f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosureItemAmountsDomain_bd9db92f-a55f-4780-a45b-307f5f33cfb3" xlink:to="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_c4d38115-c1cf-40a7-9f46-7521cd4d41f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CarryingReportedAmountFairValueDisclosureMember_d455698e-ea5c-43aa-aa41-095bada2aaa0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CarryingReportedAmountFairValueDisclosureMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_c4d38115-c1cf-40a7-9f46-7521cd4d41f9" xlink:to="loc_us-gaap_CarryingReportedAmountFairValueDisclosureMember_d455698e-ea5c-43aa-aa41-095bada2aaa0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember_3bfc95e4-b0cc-4924-8796-c56e7ea38d46" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EstimateOfFairValueFairValueDisclosureMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PortionAtFairValueFairValueDisclosureMember_c4d38115-c1cf-40a7-9f46-7521cd4d41f9" xlink:to="loc_us-gaap_EstimateOfFairValueFairValueDisclosureMember_3bfc95e4-b0cc-4924-8796-c56e7ea38d46" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f48488c9-0376-4208-b184-f00bc1a85ed8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_277c546a-b68f-43f3-a67a-8c1f825fee56" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f48488c9-0376-4208-b184-f00bc1a85ed8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9af1dfed-a6d0-459a-8e8a-d73ae615e380" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_f48488c9-0376-4208-b184-f00bc1a85ed8" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9af1dfed-a6d0-459a-8e8a-d73ae615e380" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_dc15a1b3-f4dd-471b-9453-3583d309c372" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9af1dfed-a6d0-459a-8e8a-d73ae615e380" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_dc15a1b3-f4dd-471b-9453-3583d309c372" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_5effe972-b472-487c-9c63-a276672a73fc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9af1dfed-a6d0-459a-8e8a-d73ae615e380" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_5effe972-b472-487c-9c63-a276672a73fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_588e59cb-1c81-46f8-a739-030d52461988" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_9af1dfed-a6d0-459a-8e8a-d73ae615e380" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_588e59cb-1c81-46f8-a739-030d52461988" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_dec41f06-2b6c-4ebe-9b3a-b15f6c52ef23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_277c546a-b68f-43f3-a67a-8c1f825fee56" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_dec41f06-2b6c-4ebe-9b3a-b15f6c52ef23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_796316a7-e19e-45c4-8c51-43b6e6fbcdc8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_dec41f06-2b6c-4ebe-9b3a-b15f6c52ef23" xlink:to="loc_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_796316a7-e19e-45c4-8c51-43b6e6fbcdc8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityFairValueDisclosure_cfced897-e0fc-47bb-8c7a-6b13c1bf3b8c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityFairValueDisclosure"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_dec41f06-2b6c-4ebe-9b3a-b15f6c52ef23" xlink:to="loc_us-gaap_EquityFairValueDisclosure_cfced897-e0fc-47bb-8c7a-6b13c1bf3b8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SegmentReporting" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SegmentReporting"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SegmentReporting" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_c89d0adc-aba8-4e8d-8bcc-7ac1c0e1ccc8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_f470b9d1-7da8-4a33-a695-100f0fec94bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_c89d0adc-aba8-4e8d-8bcc-7ac1c0e1ccc8" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_f470b9d1-7da8-4a33-a695-100f0fec94bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SegmentReportingTables" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SegmentReportingTables"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SegmentReportingTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_ea0fee51-f8d7-45e1-ab6f-e297d3a6bca1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_6f7970ca-9721-44e3-92a7-92fd7a2226c1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_ea0fee51-f8d7-45e1-ab6f-e297d3a6bca1" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_6f7970ca-9721-44e3-92a7-92fd7a2226c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SegmentReportingDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SegmentReportingDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SegmentReportingDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_9763139c-5c73-49c0-a672-dace30da417e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_0957887c-ffcd-4648-8217-9304304bc92a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_9763139c-5c73-49c0-a672-dace30da417e" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_0957887c-ffcd-4648-8217-9304304bc92a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_a0e12b03-fd87-4cfb-9375-dc6e5a9b9b26" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_0957887c-ffcd-4648-8217-9304304bc92a" xlink:to="loc_srt_ProductOrServiceAxis_a0e12b03-fd87-4cfb-9375-dc6e5a9b9b26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_2c0fba06-a886-4884-89cd-a2a6d22fbf8f" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_a0e12b03-fd87-4cfb-9375-dc6e5a9b9b26" xlink:to="loc_srt_ProductsAndServicesDomain_2c0fba06-a886-4884-89cd-a2a6d22fbf8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SystemSalesAndSupportRevenueRecurringMember_7f209256-ca1e-4868-984b-5626f6dd1f6e" xlink:href="cpsi-20211231.xsd#cpsi_SystemSalesAndSupportRevenueRecurringMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_2c0fba06-a886-4884-89cd-a2a6d22fbf8f" xlink:to="loc_cpsi_SystemSalesAndSupportRevenueRecurringMember_7f209256-ca1e-4868-984b-5626f6dd1f6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember_a0764e90-9df7-42e5-9e50-e46bff1b208e" xlink:href="cpsi-20211231.xsd#cpsi_SystemsSalesAndSupportRevenueNonrecurringMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_2c0fba06-a886-4884-89cd-a2a6d22fbf8f" xlink:to="loc_cpsi_SystemsSalesAndSupportRevenueNonrecurringMember_a0764e90-9df7-42e5-9e50-e46bff1b208e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_3b29114c-4fb7-4663-9511-e8fa3a6db7fa" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_0957887c-ffcd-4648-8217-9304304bc92a" xlink:to="loc_srt_ConsolidationItemsAxis_3b29114c-4fb7-4663-9511-e8fa3a6db7fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_cc1983f0-7c93-4a31-bf16-51f9f7dfb3bc" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_3b29114c-4fb7-4663-9511-e8fa3a6db7fa" xlink:to="loc_srt_ConsolidationItemsDomain_cc1983f0-7c93-4a31-bf16-51f9f7dfb3bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_f458855f-db3e-4caa-92b1-b6fde2919633" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_cc1983f0-7c93-4a31-bf16-51f9f7dfb3bc" xlink:to="loc_us-gaap_OperatingSegmentsMember_f458855f-db3e-4caa-92b1-b6fde2919633" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_d762dd02-2386-4b17-aa77-6411a5715ac6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_cc1983f0-7c93-4a31-bf16-51f9f7dfb3bc" xlink:to="loc_us-gaap_CorporateNonSegmentMember_d762dd02-2386-4b17-aa77-6411a5715ac6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_90e14f20-82ef-4224-929e-b9b901d75dd1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_0957887c-ffcd-4648-8217-9304304bc92a" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_90e14f20-82ef-4224-929e-b9b901d75dd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_96fe0225-01bb-43b2-9489-ba16bff6157e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_90e14f20-82ef-4224-929e-b9b901d75dd1" xlink:to="loc_us-gaap_SegmentDomain_96fe0225-01bb-43b2-9489-ba16bff6157e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AcuteCareMember_81938378-28b7-4275-8d72-a54edded0122" xlink:href="cpsi-20211231.xsd#cpsi_AcuteCareMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_96fe0225-01bb-43b2-9489-ba16bff6157e" xlink:to="loc_cpsi_AcuteCareMember_81938378-28b7-4275-8d72-a54edded0122" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_PostAcuteCareMember_f2e0b573-b6f2-455b-b273-c574ddc08b87" xlink:href="cpsi-20211231.xsd#cpsi_PostAcuteCareMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_96fe0225-01bb-43b2-9489-ba16bff6157e" xlink:to="loc_cpsi_PostAcuteCareMember_f2e0b573-b6f2-455b-b273-c574ddc08b87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_TruBridgeRycanandOtherOutsourcingMember_da888168-d1b0-4f34-a7d3-24a71ed54f8b" xlink:href="cpsi-20211231.xsd#cpsi_TruBridgeRycanandOtherOutsourcingMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_96fe0225-01bb-43b2-9489-ba16bff6157e" xlink:to="loc_cpsi_TruBridgeRycanandOtherOutsourcingMember_da888168-d1b0-4f34-a7d3-24a71ed54f8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_0957887c-ffcd-4648-8217-9304304bc92a" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfOperatingSegments_0c0d1eb3-25ba-49b7-a5a1-7eb3127c5a19" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NumberOfOperatingSegments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_NumberOfOperatingSegments_0c0d1eb3-25ba-49b7-a5a1-7eb3127c5a19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_1c72ae78-475a-46b4-b5f3-93c5ab4b99d3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_1c72ae78-475a-46b4-b5f3-93c5ab4b99d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_3f12af62-6de2-4e75-886b-3c66c2293d8e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_3f12af62-6de2-4e75-886b-3c66c2293d8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_f7ac2ec6-9de6-4e16-aebd-cb69249f924c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_GrossProfit_f7ac2ec6-9de6-4e16-aebd-cb69249f924c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_cf32bebd-fcc8-4766-aa0c-873be72b8dd3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_OperatingExpenses_cf32bebd-fcc8-4766-aa0c-873be72b8dd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncome_7db0c132-534c-470a-af6e-634c6184526e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncome"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_OtherNonoperatingIncome_7db0c132-534c-470a-af6e-634c6184526e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_7f44b64b-4056-400b-aa3d-c8b678aaff1c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1_7f44b64b-4056-400b-aa3d-c8b678aaff1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_351be94c-42a1-4eee-ab4a-e291de996eaf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_351be94c-42a1-4eee-ab4a-e291de996eaf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_1925bf30-db2f-4adc-aa17-4bc61ab9e965" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_InterestExpense_1925bf30-db2f-4adc-aa17-4bc61ab9e965" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_f058fb5d-44ad-49e0-bf2a-767ec06d55ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_d4d4b072-b487-448e-93f0-05ab6d7dfc01" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_f058fb5d-44ad-49e0-bf2a-767ec06d55ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SubsequentEvents" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SubsequentEvents"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SubsequentEvents" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract_8703b4d8-db3a-43c8-b465-8295debd918b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_bb3a8ba3-5a7f-4d0a-9152-cb1a79f95900" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_8703b4d8-db3a-43c8-b465-8295debd918b" xlink:to="loc_us-gaap_SubsequentEventsTextBlock_bb3a8ba3-5a7f-4d0a-9152-cb1a79f95900" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/SubsequentEventsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#SubsequentEventsDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/SubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract_7b327199-6b31-4ed5-8bd8-730b99393044" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable_45c7d3e1-3500-4a35-9b36-9f79c7a509a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_7b327199-6b31-4ed5-8bd8-730b99393044" xlink:to="loc_us-gaap_SubsequentEventTable_45c7d3e1-3500-4a35-9b36-9f79c7a509a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_2b03b197-1dec-4a78-a42f-899b11376d86" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_45c7d3e1-3500-4a35-9b36-9f79c7a509a1" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_2b03b197-1dec-4a78-a42f-899b11376d86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_ab82149b-01b2-4b62-9ba6-29a096a69277" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_2b03b197-1dec-4a78-a42f-899b11376d86" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_ab82149b-01b2-4b62-9ba6-29a096a69277" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember_9ff62456-68f7-4cb3-9414-1a67072b7169" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_ab82149b-01b2-4b62-9ba6-29a096a69277" xlink:to="loc_us-gaap_SubsequentEventMember_9ff62456-68f7-4cb3-9414-1a67072b7169" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_58703eaa-0ba7-4133-96b5-6b703cf95023" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_45c7d3e1-3500-4a35-9b36-9f79c7a509a1" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_58703eaa-0ba7-4133-96b5-6b703cf95023" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1b02d6b1-975b-4e56-8935-deefa4186fc1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_58703eaa-0ba7-4133-96b5-6b703cf95023" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1b02d6b1-975b-4e56-8935-deefa4186fc1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_HealthcareResourceGroupIncMember_de5c7f5c-e348-48c0-ad34-212cc3d74bee" xlink:href="cpsi-20211231.xsd#cpsi_HealthcareResourceGroupIncMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_1b02d6b1-975b-4e56-8935-deefa4186fc1" xlink:to="loc_cpsi_HealthcareResourceGroupIncMember_de5c7f5c-e348-48c0-ad34-212cc3d74bee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems_31422950-7a30-4fa7-8abc-9be9ab9a91d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_45c7d3e1-3500-4a35-9b36-9f79c7a509a1" xlink:to="loc_us-gaap_SubsequentEventLineItems_31422950-7a30-4fa7-8abc-9be9ab9a91d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_7ae101b2-b3ed-44b6-aa6e-6e82ff8ba07f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_31422950-7a30-4fa7-8abc-9be9ab9a91d6" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_7ae101b2-b3ed-44b6-aa6e-6e82ff8ba07f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/COVID19Pandemic" xlink:type="simple" xlink:href="cpsi-20211231.xsd#COVID19Pandemic"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/COVID19Pandemic" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TextBlockAbstract_48ddb49f-6911-4b57-b197-82cf98284bfc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TextBlockAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_CARESActTextBlock_a1107ebf-1017-49bd-82b1-1ca45a9e04ad" xlink:href="cpsi-20211231.xsd#cpsi_CARESActTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TextBlockAbstract_48ddb49f-6911-4b57-b197-82cf98284bfc" xlink:to="loc_cpsi_CARESActTextBlock_a1107ebf-1017-49bd-82b1-1ca45a9e04ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccounts" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ScheduleIIValuationandQualifyingAccounts"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccounts" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsAbstract_35b4502c-c0e7-4293-8fae-5344a76853fb" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_64e9a440-2342-45bd-b703-51c30577475b" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsAbstract_35b4502c-c0e7-4293-8fae-5344a76853fb" xlink:to="loc_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_64e9a440-2342-45bd-b703-51c30577475b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsAbstract_c91438aa-d3c3-404c-a9fc-3a551fc6b613" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_b5b32dad-7374-47d4-886b-f97a164597c8" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsAbstract_c91438aa-d3c3-404c-a9fc-3a551fc6b613" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_b5b32dad-7374-47d4-886b-f97a164597c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_366ebaae-6714-44e8-9090-a415d6f3570f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_b5b32dad-7374-47d4-886b-f97a164597c8" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_366ebaae-6714-44e8-9090-a415d6f3570f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_8d08d5ab-de0e-4cbc-85e5-30d10c4c08c0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_366ebaae-6714-44e8-9090-a415d6f3570f" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_8d08d5ab-de0e-4cbc-85e5-30d10c4c08c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForCreditLossMember_70957ba6-f9d0-446b-a2db-b8309252a670" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForCreditLossMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_8d08d5ab-de0e-4cbc-85e5-30d10c4c08c0" xlink:to="loc_us-gaap_AllowanceForCreditLossMember_70957ba6-f9d0-446b-a2db-b8309252a670" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_52beb144-1ddb-477e-8997-a82e686aa598" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_b5b32dad-7374-47d4-886b-f97a164597c8" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_52beb144-1ddb-477e-8997-a82e686aa598" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_f2aee9be-066e-4b18-9aec-52adecf350ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_52beb144-1ddb-477e-8997-a82e686aa598" xlink:to="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_f2aee9be-066e-4b18-9aec-52adecf350ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_bfe33972-2b18-4249-9bad-e29ca9d72bfd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_f2aee9be-066e-4b18-9aec-52adecf350ac" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_bfe33972-2b18-4249-9bad-e29ca9d72bfd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_f4ba44b1-1ea7-434a-b593-7e0f2a767adb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_f2aee9be-066e-4b18-9aec-52adecf350ac" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_f4ba44b1-1ea7-434a-b593-7e0f2a767adb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions_cb165162-e3fe-44f2-8ac9-ffa92ddc2c55" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_f2aee9be-066e-4b18-9aec-52adecf350ac" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDeductions_cb165162-e3fe-44f2-8ac9-ffa92ddc2c55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_444c195e-3d28-4856-b7e0-b51ca60fb982" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_f2aee9be-066e-4b18-9aec-52adecf350ac" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_444c195e-3d28-4856-b7e0-b51ca60fb982" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails" xlink:type="simple" xlink:href="cpsi-20211231.xsd#ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails"/>
  <link:presentationLink xlink:role="http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsAbstract_7630eb57-066f-4eba-88a2-a0ddb0d79b3c" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f123cb91-a4c3-466a-a007-60a848ef3203" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsAbstract_7630eb57-066f-4eba-88a2-a0ddb0d79b3c" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f123cb91-a4c3-466a-a007-60a848ef3203" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_07d23acd-7317-44d3-b779-90a01d7ced85" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f123cb91-a4c3-466a-a007-60a848ef3203" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_07d23acd-7317-44d3-b779-90a01d7ced85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_b1847864-92b9-45bf-8587-69f33f256bed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_07d23acd-7317-44d3-b779-90a01d7ced85" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_b1847864-92b9-45bf-8587-69f33f256bed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_cpsi_AllowanceForCreditLossesMember_446e5bfb-123c-46cf-8095-b3840d300981" xlink:href="cpsi-20211231.xsd#cpsi_AllowanceForCreditLossesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_b1847864-92b9-45bf-8587-69f33f256bed" xlink:to="loc_cpsi_AllowanceForCreditLossesMember_446e5bfb-123c-46cf-8095-b3840d300981" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f24e5bad-ad58-4566-abb2-88682ecd0ebb" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f123cb91-a4c3-466a-a007-60a848ef3203" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f24e5bad-ad58-4566-abb2-88682ecd0ebb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_72edf3b4-1ce0-401b-818f-66ace009b2c3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f24e5bad-ad58-4566-abb2-88682ecd0ebb" xlink:to="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_72edf3b4-1ce0-401b-818f-66ace009b2c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_4ce694d4-2659-46dc-bf82-b2e1f9161f06" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_72edf3b4-1ce0-401b-818f-66ace009b2c3" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_4ce694d4-2659-46dc-bf82-b2e1f9161f06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_2e6aa406-18ed-444c-a842-5b6cf3413906" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_72edf3b4-1ce0-401b-818f-66ace009b2c3" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_2e6aa406-18ed-444c-a842-5b6cf3413906" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions_96f88790-5df1-422d-bd61-8ae251749dfc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_72edf3b4-1ce0-401b-818f-66ace009b2c3" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDeductions_96f88790-5df1-422d-bd61-8ae251749dfc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_61c9f30f-7802-4b24-b104-81ab948e28dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_72edf3b4-1ce0-401b-818f-66ace009b2c3" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_61c9f30f-7802-4b24-b104-81ab948e28dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701760634552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover page - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Mar. 14, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-49796<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">COMPUTER PROGRAMS AND SYSTEMS, INC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">74-3032373<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">54 St. Emanuel Street<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Mobile<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">AL<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">36602<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">251<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">639-8100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $.001 per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CPSI<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 407,759,614<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,621,905<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference</a></td>
<td class="text">Portions of the definitive Proxy Statement for the 2022 Annual Meeting of Stockholders are incorporated by reference into Part III of this report to the extent described herein.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001169445<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-23<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentsIncorporatedByReferenceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701764016360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Audit Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_AuditInformationAbstract', window );"><strong>Audit Information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">248<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">GRANT THORNTON LLP<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Atlanta, Georgia<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_AuditInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Audit Information [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_AuditInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701763076984">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 11,431<span></span>
</td>
<td class="nump">$ 12,671<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of allowance for credit losses of $1,826 and $1,701, respectively</a></td>
<td class="nump">34,431<span></span>
</td>
<td class="nump">32,414<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesAndLoansReceivableNetCurrent', window );">Financing receivables, current portion, net</a></td>
<td class="nump">6,488<span></span>
</td>
<td class="nump">10,821<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">855<span></span>
</td>
<td class="nump">1,084<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidTaxes', window );">Prepaid income taxes</a></td>
<td class="nump">4,599<span></span>
</td>
<td class="nump">1,789<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other</a></td>
<td class="nump">11,194<span></span>
</td>
<td class="nump">8,365<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">68,998<span></span>
</td>
<td class="nump">67,144<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">11,590<span></span>
</td>
<td class="nump">13,139<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareNet', window );">Software development costs, net</a></td>
<td class="nump">11,644<span></span>
</td>
<td class="nump">3,210<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease assets</a></td>
<td class="nump">7,097<span></span>
</td>
<td class="nump">6,610<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesAndLoansReceivableNetNoncurrent', window );">Financing receivables, net of current portion</a></td>
<td class="nump">7,231<span></span>
</td>
<td class="nump">11,477<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets, net of current portion</a></td>
<td class="nump">3,874<span></span>
</td>
<td class="nump">2,787<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">95,203<span></span>
</td>
<td class="nump">71,689<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">177,713<span></span>
</td>
<td class="nump">150,216<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">383,350<span></span>
</td>
<td class="nump">326,272<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">8,079<span></span>
</td>
<td class="nump">7,716<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Current portion of long-term debt</a></td>
<td class="nump">4,394<span></span>
</td>
<td class="nump">3,457<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">11,529<span></span>
</td>
<td class="nump">8,130<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedVacationCurrent', window );">Accrued vacation</a></td>
<td class="nump">5,262<span></span>
</td>
<td class="nump">5,353<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other accrued liabilities</a></td>
<td class="nump">17,163<span></span>
</td>
<td class="nump">12,786<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">46,427<span></span>
</td>
<td class="nump">37,442<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt, net of current portion</a></td>
<td class="nump">94,966<span></span>
</td>
<td class="nump">73,360<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, net of current portion</a></td>
<td class="nump">5,505<span></span>
</td>
<td class="nump">5,092<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">13,880<span></span>
</td>
<td class="nump">10,378<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">160,778<span></span>
</td>
<td class="nump">126,272<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.001 par value per share; 30,000 shares authorized; 14,734 shares issued at December 31, 2021 and 14,511 shares issued at December 31, 2020</a></td>
<td class="nump">15<span></span>
</td>
<td class="nump">15<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">187,079<span></span>
</td>
<td class="nump">181,622<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">38,054<span></span>
</td>
<td class="nump">19,624<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock, 89 shares at December 31, 2021 and 47 shares at December 31, 2020</a></td>
<td class="num">(2,576)<span></span>
</td>
<td class="num">(1,261)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">222,572<span></span>
</td>
<td class="nump">200,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 383,350<span></span>
</td>
<td class="nump">$ 326,272<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedVacationCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6409733&amp;loc=d3e19396-108361<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedVacationCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6801-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesAndLoansReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of financing receivable, classified as current. Includes, but is not limited to, notes and loan receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesAndLoansReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesAndLoansReceivableNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of financing receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesAndLoansReceivableNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e7018-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6787-107765<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123349782&amp;loc=d3e5879-108316<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762731176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parenthetical) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, allowance for doubtful accounts</a></td>
<td class="nump">$ 1,826<span></span>
</td>
<td class="nump">$ 1,701<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">30,000<span></span>
</td>
<td class="nump">30,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">14,734<span></span>
</td>
<td class="nump">14,511<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">14,734<span></span>
</td>
<td class="nump">14,511<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockShares', window );">Treasury stock, shares (in shares)</a></td>
<td class="nump">89<span></span>
</td>
<td class="nump">47<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701768550424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Sales revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenues:</a></td>
<td class="nump">$ 280,629<span></span>
</td>
<td class="nump">$ 264,488<span></span>
</td>
<td class="nump">$ 274,634<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSoldAbstract', window );"><strong>Costs of sales (exclusive of amortization shown separately below):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total costs of sales</a></td>
<td class="nump">139,747<span></span>
</td>
<td class="nump">128,242<span></span>
</td>
<td class="nump">130,489<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">140,882<span></span>
</td>
<td class="nump">136,246<span></span>
</td>
<td class="nump">144,145<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Product development</a></td>
<td class="nump">30,389<span></span>
</td>
<td class="nump">33,457<span></span>
</td>
<td class="nump">36,861<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">21,978<span></span>
</td>
<td class="nump">22,835<span></span>
</td>
<td class="nump">26,495<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">50,022<span></span>
</td>
<td class="nump">47,479<span></span>
</td>
<td class="nump">45,200<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of acquisition-related intangibles</a></td>
<td class="nump">13,786<span></span>
</td>
<td class="nump">11,421<span></span>
</td>
<td class="nump">11,006<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">116,175<span></span>
</td>
<td class="nump">115,192<span></span>
</td>
<td class="nump">119,562<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">24,707<span></span>
</td>
<td class="nump">21,054<span></span>
</td>
<td class="nump">24,583<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expense):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncome', window );">Other income</a></td>
<td class="nump">1,529<span></span>
</td>
<td class="nump">1,494<span></span>
</td>
<td class="nump">807<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1', window );">Gain on contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(202)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(3,160)<span></span>
</td>
<td class="num">(3,562)<span></span>
</td>
<td class="num">(6,694)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Total other income (expense)</a></td>
<td class="num">(1,631)<span></span>
</td>
<td class="num">(2,270)<span></span>
</td>
<td class="num">(887)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before taxes</a></td>
<td class="nump">23,076<span></span>
</td>
<td class="nump">18,784<span></span>
</td>
<td class="nump">23,696<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">4,646<span></span>
</td>
<td class="nump">4,538<span></span>
</td>
<td class="nump">3,228<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 18,430<span></span>
</td>
<td class="nump">$ 14,246<span></span>
</td>
<td class="nump">$ 20,468<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income (loss) per share - basic (in dollars per share)</a></td>
<td class="nump">$ 1.26<span></span>
</td>
<td class="nump">$ 0.98<span></span>
</td>
<td class="nump">$ 1.43<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income (loss) per share - diluted (in dollars per share)</a></td>
<td class="nump">$ 1.26<span></span>
</td>
<td class="nump">$ 0.98<span></span>
</td>
<td class="nump">$ 1.43<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Weighted average shares outstanding used in per common share computations:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">14,290<span></span>
</td>
<td class="nump">14,038<span></span>
</td>
<td class="nump">13,778<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">14,318<span></span>
</td>
<td class="nump">14,038<span></span>
</td>
<td class="nump">13,778<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">System sales and support</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Sales revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenues:</a></td>
<td class="nump">$ 143,109<span></span>
</td>
<td class="nump">$ 152,954<span></span>
</td>
<td class="nump">$ 165,352<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSoldAbstract', window );"><strong>Costs of sales (exclusive of amortization shown separately below):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total costs of sales</a></td>
<td class="nump">70,664<span></span>
</td>
<td class="nump">69,361<span></span>
</td>
<td class="nump">73,872<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ServiceMember', window );">TruBridge</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Sales revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenues:</a></td>
<td class="nump">137,520<span></span>
</td>
<td class="nump">111,534<span></span>
</td>
<td class="nump">109,282<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSoldAbstract', window );"><strong>Costs of sales (exclusive of amortization shown separately below):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total costs of sales</a></td>
<td class="nump">$ 69,083<span></span>
</td>
<td class="nump">$ 58,881<span></span>
</td>
<td class="nump">$ 56,617<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of right to a contingent consideration asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSoldAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSoldAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123467658&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467658&amp;loc=d3e12317-112629<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123384075&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701759599640">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders&#8217; Equity - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings (Accumulated Deficit)</div></th>
<th class="th"><div>Treasury Stock</div></th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Beginning balance (in shares) at Dec. 31, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,083<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2018</a></td>
<td class="nump">$ 159,783<span></span>
</td>
<td class="nump">$ 14<span></span>
</td>
<td class="nump">$ 164,793<span></span>
</td>
<td class="num">$ (5,024)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">20,468<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,468<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued upon exercise of stock options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Common stock issued upon exercise of stock options</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">9,822<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,822<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Dividends', window );">Dividends</a></td>
<td class="num">(5,729)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,729)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Ending balance (in shares) at Dec. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,356<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2019</a></td>
<td class="nump">184,347<span></span>
</td>
<td class="nump">$ 14<span></span>
</td>
<td class="nump">174,618<span></span>
</td>
<td class="nump">9,715<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">14,246<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,246<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">156<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of restricted stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited', window );">Forfeiture of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">7,005<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,005<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Treasury stock purchases</a></td>
<td class="num">(1,261)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,261)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Dividends', window );">Dividends</a></td>
<td class="num">(4,337)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,337)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Ending balance (in shares) at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,511<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2020</a></td>
<td class="nump">200,000<span></span>
</td>
<td class="nump">$ 15<span></span>
</td>
<td class="nump">181,622<span></span>
</td>
<td class="nump">19,624<span></span>
</td>
<td class="num">(1,261)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">18,430<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,430<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of restricted stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">229<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited', window );">Forfeiture of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">5,457<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,457<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Treasury stock purchases</a></td>
<td class="num">(1,315)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,315)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Ending balance (in shares) at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2021</a></td>
<td class="nump">$ 222,572<span></span>
</td>
<td class="nump">$ 15<span></span>
</td>
<td class="nump">$ 187,079<span></span>
</td>
<td class="nump">$ 38,054<span></span>
</td>
<td class="num">$ (2,576)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=122142933&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=122142933&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123468992&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Dividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 405<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6957935&amp;loc=d3e64057-112817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Dividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares (or other type of equity) forfeited during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate value of stock related to Restricted Stock Awards issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701759616424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">$ 18,430<span></span>
</td>
<td class="nump">$ 14,246<span></span>
</td>
<td class="nump">$ 20,468<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to net income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for bad debt</a></td>
<td class="nump">2,592<span></span>
</td>
<td class="nump">4,370<span></span>
</td>
<td class="nump">2,348<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred taxes</a></td>
<td class="nump">3,502<span></span>
</td>
<td class="nump">2,755<span></span>
</td>
<td class="nump">1,011<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock based compensation</a></td>
<td class="nump">5,457<span></span>
</td>
<td class="nump">7,005<span></span>
</td>
<td class="nump">9,822<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">2,156<span></span>
</td>
<td class="nump">1,790<span></span>
</td>
<td class="nump">1,407<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of acquisition-related intangibles</a></td>
<td class="nump">13,786<span></span>
</td>
<td class="nump">11,421<span></span>
</td>
<td class="nump">11,006<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareAmortization1', window );">Amortization of software development costs</a></td>
<td class="nump">931<span></span>
</td>
<td class="nump">118<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of deferred finance costs</a></td>
<td class="nump">293<span></span>
</td>
<td class="nump">317<span></span>
</td>
<td class="nump">345<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1', window );">Gain on contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">202<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss on disposal of property and equipment</a></td>
<td class="nump">313<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities (net of acquired assets and liabilities):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(3,204)<span></span>
</td>
<td class="nump">3,667<span></span>
</td>
<td class="nump">641<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInFinanceReceivables', window );">Financing receivables</a></td>
<td class="nump">8,098<span></span>
</td>
<td class="nump">6,369<span></span>
</td>
<td class="nump">3,053<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">229<span></span>
</td>
<td class="nump">342<span></span>
</td>
<td class="nump">72<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other</a></td>
<td class="num">(3,914)<span></span>
</td>
<td class="num">(3,519)<span></span>
</td>
<td class="num">(1,474)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(615)<span></span>
</td>
<td class="num">(1,088)<span></span>
</td>
<td class="nump">2,542<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="nump">2,099<span></span>
</td>
<td class="num">(498)<span></span>
</td>
<td class="num">(2,003)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other liabilities</a></td>
<td class="nump">401<span></span>
</td>
<td class="nump">2,097<span></span>
</td>
<td class="num">(1,418)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Prepaid income taxes/income taxes payable</a></td>
<td class="num">(2,810)<span></span>
</td>
<td class="num">(452)<span></span>
</td>
<td class="nump">782<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">47,744<span></span>
</td>
<td class="nump">49,142<span></span>
</td>
<td class="nump">43,602<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(920)<span></span>
</td>
<td class="num">(3,336)<span></span>
</td>
<td class="num">(1,760)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Purchase of business, net of cash received</a></td>
<td class="num">(59,634)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(10,733)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToDevelopSoftware', window );">Investment in software development</a></td>
<td class="num">(9,365)<span></span>
</td>
<td class="num">(3,328)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(69,919)<span></span>
</td>
<td class="num">(6,664)<span></span>
</td>
<td class="num">(12,493)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Financing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfDividends', window );">Dividends paid</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,337)<span></span>
</td>
<td class="num">(5,729)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt', window );">Proceeds from long-term debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">64<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermDebt', window );">Payments of long-term debt principal</a></td>
<td class="num">(3,750)<span></span>
</td>
<td class="num">(4,069)<span></span>
</td>
<td class="num">(13,609)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Proceeds from revolving line of credit</a></td>
<td class="nump">61,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">11,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfLinesOfCredit', window );">Payments of revolving line of credit</a></td>
<td class="num">(35,000)<span></span>
</td>
<td class="num">(27,561)<span></span>
</td>
<td class="num">(20,693)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfOtherDebt', window );">Payments on capital lease</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(250)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_PaymentsofContingentConsideration', window );">Payments of contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(206)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Treasury stock purchases</a></td>
<td class="num">(1,315)<span></span>
</td>
<td class="num">(1,261)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="nump">20,935<span></span>
</td>
<td class="num">(37,164)<span></span>
</td>
<td class="num">(29,484)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Increase (decrease) in cash and cash equivalents</a></td>
<td class="num">(1,240)<span></span>
</td>
<td class="nump">5,314<span></span>
</td>
<td class="nump">1,625<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at beginning of year</a></td>
<td class="nump">12,671<span></span>
</td>
<td class="nump">7,357<span></span>
</td>
<td class="nump">5,732<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at end of year</a></td>
<td class="nump">11,431<span></span>
</td>
<td class="nump">12,671<span></span>
</td>
<td class="nump">7,357<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Cash paid for interest</a></td>
<td class="nump">2,817<span></span>
</td>
<td class="nump">3,245<span></span>
</td>
<td class="nump">6,342<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Cash paid for income taxes, net of refund</a></td>
<td class="nump">3,503<span></span>
</td>
<td class="nump">2,235<span></span>
</td>
<td class="nump">3,193<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Supplemental disclosure of non-cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_WriteOffOfFullyDepreciatedAssets', window );">Write-off of fully depreciated assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,618<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_PaymentsofContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments of Contingent Consideration</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_PaymentsofContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_WriteOffOfFullyDepreciatedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Write-off of fully depreciated assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_WriteOffOfFullyDepreciatedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of right to a contingent consideration asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareAmortization1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for amortization of capitalized computer software costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128487-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareAmortization1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123467658&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467658&amp;loc=d3e12317-112629<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 310<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123371682&amp;loc=d3e55415-109406<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInFinanceReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in outstanding loans including accrued interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInFinanceReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToDevelopSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the development or modification of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToDevelopSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfOtherDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for the payment of debt classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfOtherDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762787608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Nature of Operations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Nature of Operations</a></td>
<td class="text">NATURE OF OPERATIONSComputer Programs and Systems, Inc. ("CPSI" or the "Company") is a healthcare information technology solutions provider which was formed and commenced operations in 1979. The Company provides, on an integrated basis, enterprise-wide clinical management, access management, patient financial management, health information management, strategic decision support, resource planning management and enterprise application integration solutions to healthcare organizations throughout the United States. Additionally, CPSI provides other information technology solutions, including business management services, remote hosting, networking technologies and other related services.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701763186024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES<div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Principles of Consolidation</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements of CPSI include the accounts of TruBridge, LLC ("TruBridge"), Evident, LLC ("Evident"), iNetXperts, Corp. d/b/a Get Real Health ("Get Real Health"),  Healthland Holding Inc. ("HHI"), and TruCode, LLC ("TruCode"), all of which are wholly-owned subsidiaries of CPSI. The accounts of HHI include those of its wholly-owned subsidiaries, Healthland Inc. ("Healthland"), Rycan Technologies, Inc. ("Rycan"), and American HealthTech, Inc. ("AHT"). All significant intercompany balances and transactions have been eliminated.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash and Cash Equivalents</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents can include time deposits and certificates of deposit with original maturities of three months or less that are highly liquid and readily convertible to a known amount of cash. These assets are stated at cost, which approximates market value, due to their short duration or liquid nature.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Change in Useful Lives of Intangible Assets</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In accordance with its policy, the Company reviews the estimated useful lives of its intangible assets on an ongoing basis. This review indicated that the actual lives of certain developed technology were shorter than the estimated useful lives used for amortization purposes in the Company's financial statements. As a result, effective January 1, 2021, the Company changed its estimates of the useful lives of certain developed technology to better reflect the estimated periods during which these assets will remain in service. The remaining useful life of certain developed technology that was 3.25 years at January 1, 2021 was reduced to 2 years, while the remaining useful life of certain developed technology that was 4.25 years was reduced to 3 years. The effect of this change was to increase 2021 amortization expense by approximately $1.0&#160;million and decrease 2021 net income and basic and diluted earnings per share by $0.8&#160;million and $0.06, respectively.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Presentation</span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effective January 1, 2021, costs associated with our internal legal, compliance, and contract administration activities, which were formerly included within the caption &#8220;Sales and marketing&#8221; on our consolidated statements of operations, have been recorded as a component of &#8220;General and administrative&#8221; expenses.  Amounts presented for the years ended December 31, 2020 and 2019, have been reclassified to conform to the current presentation.  The following table provides the amount reclassified for the year ended December 31, 2020:</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:59.047%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.695%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As previously reported</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Re-classifications</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As reclassified</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,185&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,350)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,835&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,129&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,350&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,479&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the amount reclassified for the year ended December 31, 2019:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:59.047%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.695%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As previously reported</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Re-classifications</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As reclassified</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,774&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,279)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,495&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,921&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,279&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,200&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts Receivable and Allowance for Credit Losses</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade accounts receivable are stated at the amount the Company expects to collect and do not bear interest. The Company establishes a general allowance for credit losses based on collections history. In the case of a bankruptcy filing or other similar event indicating the collectability of specific customer accounts is no longer probable, a specific allowance for credit losses may be recorded to reduce the related receivable to the amount expected to be recovered.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Financing Receivables</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financing receivables are comprised of short-term payment plans and sales-type leases. Short-term payment plans are stated at the amount the Company expects to collect and do not bear interest. Sales-type leases are initially recorded at the present value of the related minimum lease payments.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An allowance for credit losses has been established for our financing receivables based on the historical level of customer defaults under such arrangements. In the case of a bankruptcy filing or other similar event indicating the collectability of specific customer accounts is no longer probable, a specific reserve may be recorded to reduce the related receivable to the amount expected to be recovered. Customer payments are considered past due if a scheduled payment is not received within contractually agreed upon terms, with amounts reclassified to accounts receivable when they become due. As a result, we evaluate the credit quality of our financing receivables on an ongoing basis utilizing an aging of receivables and write-offs, customer collection experience, the customer&#8217;s financial condition and known risk characteristics impacting the respective customer base, as well as existing economic conditions, to determine if any further allowance is necessary. Amounts are specifically charged off once all available means of collection have been exhausted.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Inventories</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at lower of cost or net realizable value using the average cost method. The Company&#8217;s inventories are comprised of computer equipment, forms and supplies. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment is recorded at cost, less accumulated depreciation. Additions and improvements to property and equipment that materially increase productive capacity or extend the life of an asset are capitalized. Maintenance, repairs and minor renewals are expensed as incurred. Upon retirement or other disposition of such assets, the related costs and accumulated depreciation are removed from the respective accounts and any resulting gain or loss is included in the results of operations.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense is computed using the straight-line method over the asset&#8217;s useful life, which is generally 5 years for computer equipment, furniture, and fixtures and 30 years for buildings. Leasehold improvements are depreciated over the shorter of the asset&#8217;s useful life or the remaining lease term. The Company reviews for the possible impairment of long-lived assets whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. Depreciation expense is reported in the consolidated statements of operations as a component of costs of sales and operating expenses.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Combinations</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We apply business combination accounting when we acquire a business. Business combinations are accounted for at fair value. The associated acquisition costs are expensed as incurred and recorded in general and administrative expenses; restructuring costs associated with a business combination are expenses; contingent consideration is measured at fair value at the acquisition date, with changes in fair value after the acquisition date affecting earnings; changes in deferred tax asset valuation allowances and income tax uncertainties after the measurement period affect income tax expense; and goodwill is determined as the excess of the fair value of the consideration conveyed in the acquisition over the fair value of the net </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">assets acquired. The accounting for business combinations requires estimates and judgments as to expectations for future cash flows of the acquired business, and the allocation of those cash flows to identifiable intangible assets, in determining the estimated fair value for assets and liabilities acquired. The fair values assigned to tangible and intangible assets acquired and liabilities assumed, are based on management's estimates and assumptions, including valuations that utilize customary valuation procedures and techniques. If the actual results differ from the estimates and judgments used in these estimates, the amounts recorded in the financial statements could result in a possible impairment of the intangible assets and goodwill, or require acceleration of the amortization expense of finite-lived intangible assets. The results of the acquired businesses' operations are included in the Consolidated Statements of Operations of the combined entity beginning on the date of the acquisition. We have applied this acquisition method to the transactions described in Note 3 - Business Combination.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is recorded as the difference, if any, between the aggregate consideration paid for an acquisition and the fair value of the identifiable net tangible and intangible assets acquired. Goodwill is not amortized but is evaluated for impairment annually or more frequently if indicators of impairment are present or changes in circumstances suggest that impairment may exist. We test annually for impairment as of October 1. </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of our annual goodwill impairment test, we first assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. If we conclude that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, we conduct a quantitative goodwill impairment assessment, which compares the fair value of the reporting unit with its carrying amount, including goodwill. If the carrying amount of the reporting unit exceeds its fair value, an impairment charge is recognized for the amount by which the carrying amount exceeds the total amount of goodwill allocated to that reporting unit. If the fair value of the reporting unit exceeds its carrying amount, the goodwill of the reporting unit is not considered to be impaired. We determined there was no impairment to goodwill for the years ended December 31, 2021, 2020 and 2019.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Purchased Intangible Assets</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Purchased intangible assets are acquired in connection with a business acquisition, and are amortized over their estimated useful lives based on the pattern of economic benefit expected from each asset. We concluded for certain purchased intangible assets that the pattern of economic benefit approximated the straight-line method, and therefore, the use of the straight-line method was appropriate, as the majority of the cash flows will be recognized ratably over the estimated useful lives and there is no degradation of the cash flows over time. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We assess the recoverability of intangible assets whenever events or changes in circumstances indicate that the carrying amount of the asset may not be recoverable. The carrying amount is not recoverable if it exceeds the undiscounted sum of cash flows expected to result from the use and eventual disposition of the asset. If the asset is not recoverable, the impairment loss is measured by the excess of the asset's carrying amount over its fair value. We determined there was no impairment to purchased intangible assets as of December 31, 2021, 2020 or 2019.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized upon transfer of control of promised products or services to clients in an amount that reflects the consideration we expect to receive in exchange for those products and services. We enter into contracts that can include various combinations of products and services, which are generally distinct and accounted for as separate performance obligations. The Company employs the 5-step revenue recognition model under ASC 606, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue from Contracts with Customers,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> to: (1) identify the contract with the client, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when (or as) the entity satisfies a performance obligation.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized net of shipping charges and any taxes collected from clients, which are subsequently remitted to governmental authorities. </span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">System Sales and Support</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into contractual obligations to sell perpetual software licenses, installation, conversion, and related training services, software application support, hardware, and hardware maintenance services to acute care community hospitals and post-acute providers. </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:14.5pt">Non-recurring Revenues</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Perpetual software licenses and installation, conversion, and related training services are not considered separate and distinct performance obligations due to the proprietary nature of our software and are, therefore, accounted for as a single performance obligation on a module-by-module basis. Revenue is recognized as each module's implementation is completed based on the module's stand-alone selling price ("SSP"), net of discounts. We determine each module's SSP using the residual method. Fees for licenses and installation, conversion, and related training services are typically due in three installments: (1) at placement of order, (2) upon installation of software and commencement of training, and (3) upon satisfactory completion of monthly accounting cycle or end-of-month operation by application and as applicable for each application. Often, short-term and/or long-term financing arrangements are provided for software implementations; refer to Note 11 - Financing Receivables for further information. Electronic health records ("EHR") implementations include a system warranty that terminates thirty days from the software go-live date, the date which the client begins using the system in a live environment.</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Hardware revenue is recognized separately from software licenses at the point in time it is delivered to the client. The SSP of hardware is cost plus a reasonable margin and revenue is recognized on a gross basis. Payment is generally due upon delivery of the hardware to the client. Standard manufacturer warranties apply to hardware.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:14.5pt">Recurring Revenues</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Software application support and hardware maintenance services sold with software licenses and hardware are separate and distinct performance obligations. Revenue for support and maintenance services is recognized based on SSP, which is the renewal price, ratably over the life of the contract, which is generally <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEyMjU1_9cf6cf15-0f35-4978-9dd4-6c7c8e333172">three</span> to five years. Payment is due monthly for support and maintenance services provided.</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Subscriptions to third-party content revenue is recognized as a separate performance obligation ratably over the subscription term based on SSP, which is cost plus a reasonable margin, and revenue is recognized on a gross basis. Payment is due monthly for subscriptions to third party content.</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Software as a Service ("SaaS") arrangements for EHR software and related conversion and training services are considered a single performance obligation. Revenue is recognized on a monthly basis as the SaaS service is provided to the client over the contract term. Payment is due monthly for SaaS services provided.</span></div><div style="margin-top:9pt;padding-left:99pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 18 - Segment Reporting for further information, including revenue by client base (acute care or post-acute care) bifurcated by recurring and non-recurring revenue.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">TruBridge</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">TruBridge provides an array of business processing services ("BPS") consisting of accounts receivable &#160;&#160;&#160;&#160;management, private pay services, insurance services, medical coding, electronic billing, statement processing, payroll processing, and contract management. Fees are recognized over the period of the client contractual relationship as the services are performed based on the SSP, net of discounts. SSP for TruBridge BPS services is determined based on observable stand-alone selling prices. Fees for many of these services are invoiced, and revenue recognized accordingly, based on the volume of transactions or a percentage of client accounts receivable collections. Payment is due monthly for BPS with certain amounts varying based on utilization and/or volumes.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">TruBridge also provides professional IT services. Revenue from professional IT services is recognized as the services are performed based on SSP, which is determined by observable stand-alone selling prices. Payment is due monthly as services are performed. </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lastly, TruBridge also provides certain software solutions and related support under SaaS arrangements and time-based software licenses.  Revenue from SaaS arrangements is recognized in a manner consistent with SaaS arrangements for EHR software, as discussed above.  Revenue from time-based software licenses is recognized upon delivery to the client (&#8220;point in time&#8221;) and revenue from non-license components (i.e., support) is </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">recognized ratably over the respective contract term (&#8220;over time&#8221;). SSP for time-based licenses is determined using the residual approach, while the non-license component is based on cost plus reasonable margin.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Deferred Revenue</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue represents amounts invoiced to clients for which the services under contract have not been completed and revenue has not been recognized, including annual renewals of certain software subscriptions and customer deposits for implementations to be performed at a later date. Revenue is recognized ratably over the life of the software subscriptions as services are provided and at the point-in-time when implementations have been completed.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table details deferred revenue for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.304%"><tr><td style="width:1.0%"/><td style="width:67.608%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.303%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.283%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.306%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For years ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,130&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,628&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue recorded</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,393&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,507&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue acquired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,300&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less deferred revenue recognized as revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21,294)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,005)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,529&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,130&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The deferred revenue recorded for years ended December 31, 2021 and 2020 is comprised primarily of the annual renewals of certain software subscriptions billed during the first quarter of each year and deposits collected for future EHR installations. The deferred revenue acquired resulted from the May 2021 acquisition of TruCode. The deferred revenue recognized as revenue during the years ended December 31, 2021 and 2020 is comprised primarily of the periodic recognition of annual renewals that were deferred until earned and deposits for future EHR installations that were deferred until earned.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Costs to Obtain and Fulfill a Contract with a Customer</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs to obtain a contract include the commission costs related to SaaS arrangements, which are capitalized and amortized ratably over the expected life of the customer. As a practical expedient, we generally recognize the incremental costs of obtaining a contract as an expense when incurred if the amortization period of the asset would have been one year or less, with the exception of commissions generated from TruBridge sales. TruBridge commissions, which are paid up to twelve months in advance, are capitalized and amortized over the prepayment period. Costs to obtain a contract are expensed within sales and marketing expenses in the accompanying consolidated statements of operations.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract fulfillment costs related to the implementation of SaaS arrangements are capitalized and amortized ratably over the expected life of the customer. Costs to fulfill contracts consist of the payroll costs for the implementation of SaaS arrangements, including time for training, conversion, and installation that is necessary for the software to be utilized. Contract fulfillment costs are expensed within </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the caption "System sales and support - Cost of sales" in the accompanying consolidated statements of operations.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs to obtain and fulfill contracts related to SaaS arrangements are included within the "Prepaid expenses and other" and "Other assets, net of current portion" line items on our consolidated balance sheets.  </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table details costs to obtain and fulfill contracts with customers for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"><tr><td style="width:1.0%"/><td style="width:70.187%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.256%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.955%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.102%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For years ended December 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,992&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,439&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs to obtain and fulfill contracts capitalized</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,256&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,974&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less costs to obtain and fulfill contracts recognized as expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,936)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,421)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,312&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,992&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Significant Judgments</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contracts with clients often include promises to transfer multiple products and services. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Judgment is required to determine SSP for each distinct performance obligation. We use observable SSP for items that are sold on a stand-alone basis to similarly situated clients at unit prices within a sufficiently narrow range. For performance obligations that are sold to different clients for a broad range of amounts, or for performance obligations that are never sold on a stand-alone basis, the residual method in determining SSP is applied and requires significant judgment.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Allocating the transaction price, including estimating SSP of promised goods and services for contracts with discounts or variable consideration, may require significant judgment. Due to the short time frame of the implementation cycle, discount allocation is immaterial as revenue is recognized net of discounts within the same reporting period. In scenarios where the Company enters into a contract that includes both a software license and BPS or other services that are charged based on volume of services rendered, the Company allocates variable amounts entirely to a distinct good or service. The terms of the variable payment relate specifically to the entity&#8217;s efforts to satisfy that performance obligation. </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant judgment is required in determining the expected life of a customer, which is the amortization period for costs to obtain and fulfill a contract that have been capitalized. The Company determined that the expected life of the customer is not materially different from the initial contract term based on the characteristics of the SaaS offering.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Remaining Performance Obligations</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Disclosures regarding remaining performance obligations are not considered material as the overwhelming majority of the Company's remaining performance obligations either (a) are related to contracts with an expected duration of one year or less, or (b) exhibit revenue recognition in the amount to which the Company has the right to invoice.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">       Stock-Based Compensation</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for stock-based compensation according to the provisions of ASC 718, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Compensation &#8211; Stock Compensation</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which establishes accounting for stock-based awards exchanged for employee services. Accordingly, stock-based compensation cost is measured at the grant date based on the fair value of the award, and is recognized as an expense over the employee&#8217;s or non-employee director&#8217;s requisite service period.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Software Development Costs</span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our software solutions are offered to our clients through both traditional perpetual licenses as well as SaaS delivery models.  Development costs associated with the certain solutions offered exclusively through a SaaS model are accounted for in accordance with ASC 350-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal Use Software</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.  All other client solution development costs are accounted for in accordance with ASC 985-20, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Costs of Software to be Sold, Leased, or Marketed</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under ASC 985-20, software development costs incurred in creating computer software solutions are expensed until technological feasibility has been established upon completion of a detailed program design or, in the absence of a detailed program design, upon completion of a product design and working model of the software product.  Thereafter, all software development costs incurred through the software&#8217;s general release date are capitalized and subsequently recorded at the lower of amortized cost or net realizable value.  Capitalized costs are amortized based on the current and expected future revenue for each software solution with minimum annual amortization equal to the straight-line amortization over the estimated economic life of the solution, which is estimated to be five years.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under ASC 350-40, software development costs related to preliminary project activities and post-implementation and maintenance activities are expensed as incurred.  We capitalize direct costs related to application development activities that are probable to result in additional functionality.  Capitalized costs are amortized on a straight-line basis over five years. We test for impairment whenever events or changes in circumstances that could impact recoverability occur.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note 5 - Software Development for further information relating to our software development costs.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for income taxes in accordance with ASC 740, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accounting for Income Taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Under this topic, deferred income taxes are determined utilizing the asset and liability approach. This method gives consideration to the future tax consequences associated with differences between financial accounting and tax bases of assets and liabilities. The effect on the deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date. We recognize interest and penalties accrued related to unrecognized tax benefits in the consolidated statements of operations as a component of the provision for income taxes.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also make a provision for uncertain income tax positions in accordance with the ASC 740, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accounting for Income Taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. These provisions require that a tax position taken in a tax return be recognized in the financial statements when it is more likely than not (i.e., a likelihood of more than fifty percent) that the position would be sustained upon examination by tax authorities. A recognized tax position is then measured at the largest amount of benefit that is greater than fifty percent likely of being realized upon settlement. The topic also requires that changes in judgment that result in subsequent recognition, derecognition, or change in a measurement date of a tax position taken in a prior annual period (including any related interest and penalties) be recognized as a discrete item in the interim period in which the change occurs.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Valuation allowances are recorded when, in the opinion of management, it is more likely than not that all or a portion of the deferred tax assets will not be realized. These valuation allowances can be impacted by changes in tax laws, changes to statutory tax rates, and future taxable income, and are based on our judgment, estimates, and assumptions.  </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with U.S. GAAP requires that management make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosures of contingent assets and liabilities at the date of the financial statements, and the reported revenues and expenses during the reporting periods. Actual results could differ from those estimates.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Reporting</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating segments are identified as components of an enterprise about which separate discrete financial information is evaluated by the chief operating decision maker, which we refer to as the CODM, or decision-making group in assessing performance and making decisions regarding resource allocation. The Company has prepared operating segment information based on the manner in which management disaggregates the Company's operations for making internal operating decisions. For more information, see Note 18 - Segment Reporting.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">New Accounting Standards Adopted in 2021</span></div><div style="margin-top:9pt;padding-left:19pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no new accounting standards required to be adopted in 2021 that would have a material impact on our consolidated financial statements. </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">New Accounting Standards Yet to be Adopted</span></div><div style="padding-left:19pt"><span><br/></span></div><div style="padding-left:19pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not believe that any recently issued but not yet effective accounting standards, if adopted, would have a material impact on our consolidated financial statements.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18726-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701763209912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combination<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination and Asset Acquisition [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Business Combination</a></td>
<td class="text">BUSINESS COMBINATION<div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Acquisition of TruCode</span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 12, 2021, we acquired all of the assets and liabilities of TruCode LLC, a Virginia limited liability company ("TruCode"), pursuant to a Stock Purchase Agreement dated May 12, 2021. Based in Alpharetta, Georgia, TruCode provides configurable, knowledge-based software that gives coders, clinical documentation improvement specialists and auditors the flexibility to code according to their knowledge, preferences and experience. The cloud-based medical coding solution is bundled with the TruBridge solutions and services to enhance revenue cycle performance for healthcare organizations of all sizes. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Consideration for the acquisition included cash (net of cash of the acquired entity) of $59.6&#160;million (inclusive of seller's transaction expenses), plus a contingent earnout payment of up to $15.0&#160;million tied to TruCode's earnings before interest, tax, depreciation, and amortization ("EBITDA") (subject to certain pro-forma adjustments) for the twelve- month period concluding on the anniversary date of the acquisition.  During 2021, we incurred approximately $0.9&#160;million of pre-tax </span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">acquisition costs in connection with the acquisition of TruCode. Acquisition costs are included in general and administrative expenses in our consolidated statements of operations.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our acquisition of TruCode was treated as a purchase in accordance with ASC 805, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Business Combinations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which requires allocation of the purchase price to the estimated fair values of assets and liabilities acquired in the transaction. Our allocation of the purchase price was based on management's judgment after evaluating several factors, including a preliminary valuation assessment. Final settlement is pending related to acquired working capital and certain amounts due to third parties which remain in ongoing negotiations.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The allocation of the purchase price paid for TruCode was as follows:</span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"/><td style="width:85.474%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.326%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase Price Allocation</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,249&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">924&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,300&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,497&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable and accrued liabilities</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,289)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,500)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,300)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,883&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The intangible assets in the table above are being amortized on a straight-line basis over their estimated useful lives. The amortization is included in amortization of acquisition-related intangibles in our consolidated statements of operations. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value measurements of tangible and intangible assets and liabilities were based on significant inputs not observable in the market and thus represent Level 3 measurements within the fair value measurement hierarchy (see Note 17 - Fair Value). Level 3 inputs included, among others, discount rates that we estimated would be used by a market participant in valuing these assets and liabilities, projections of revenues and cash flows, client attrition rates and market comparables.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our consolidated statement of operations for the year ended December 31, 2021 includes revenues of approximately $7.1&#160;million, and pre-tax income of approximately $3.2&#160;million, attributed to the acquired business since the May 12, 2021 acquisition date.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following unaudited pro forma revenue, net income and earnings per share amounts for the years ended December 31, 2021 and 2020 give effect to the TruCode acquisition as if it had been completed on January 1, 2020. The pro forma financial information is presented for illustrative purposes only and is not necessarily indicative of what the operating results actually would have been during the periods presented had the TruCode acquisition been completed during the periods presented. In addition, the unaudited pro forma financial information does not purport to project future operating results. The pro forma information does not fully reflect: (1) any anticipated synergies (or costs to achieve synergies) or (2) the impact of non-recurring items directly related to the TruCode acquisition. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:72.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.778%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.557%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.629%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands, except per share data, unaudited)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pro forma revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">286,651&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">275,641&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pro forma net income </span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,635&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,651&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pro forma diluted earnings per share</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.41&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.01&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:6pt;padding-left:18pt"><span><br/></span></div><div style="margin-bottom:6pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pro forma net income was calculated by adjusting the results for the applicable period to reflect (i) the additional amortization that would have been charged assuming the fair value adjustments to intangible assets had been applied on </span></div><div style="margin-bottom:6pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">January 1, 2020 and (ii) adjustments to amortized revenue during fiscal 2021 and 2020 as a result of the acquisition date valuation of assumed deferred revenue. The pro forma results for each period also reflect the pro forma adjustment to interest expense as a result of utilizing revolver debt to finance the acquisition.</span></div><div style="margin-bottom:6pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Acquisition of Get Real Health</span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 3, 2019, we acquired all of the assets and liabilities of iNetXperts, Corp., a Maryland corporation doing business as Get Real Health (&#8220;Get Real Health&#8221;), pursuant to a Stock Purchase Agreement dated April 23, 2019, as amended on May 2, 2019. Based in Rockville, Maryland, Get Real Health delivers technology solutions to improve patient outcomes and engagement strategies with care providers. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Consideration for the acquisition included cash (net of cash of the acquired entity) of $10.8&#160;million (inclusive of seller's transaction expenses), plus a contingent earnout payment of up to $14.0&#160;million tied to Get Real Health's earnings before interest, tax, depreciation, and amortization ("EBITDA") (subject to certain pro-forma adjustments) for 2019. As of December 31, 2019, the $5.0&#160;million contingent consideration estimated in determining the acquisition purchase price was fully reversed as Get Real Health's earnings did not achieve the required level for earnout payment. During 2019, we incurred approximately $0.6&#160;million of pre-tax acquisition costs in connection with the acquisition of Get Real Health. Acquisition costs are included in general and administrative expenses in our consolidated statements of operations. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our acquisition of Get Real Health was treated as a purchase in accordance with ASC 805, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Business Combinations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which requires allocation of the purchase price to the estimated fair values of assets and liabilities acquired in the transaction. Our allocation of the purchase price was based on management's judgment after evaluating several factors, including a valuation assessment.</span></div><div><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The allocation of the purchase price paid for Get Real Health was as follows:</span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"/><td style="width:85.474%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.326%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase Price Allocation</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">159&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">364&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">365&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,285&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,890&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,767&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable and accrued liabilities</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(594)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred taxes, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,736)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liability</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,285)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,000)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(430)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,892&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The intangible assets in the table above are being amortized on a straight-line basis over their estimated useful lives. The amortization is included in amortization of acquisition-related intangibles in our consolidated statements of operations. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value measurements of tangible and intangible assets and liabilities were based on significant inputs not observable in the market and thus represent Level 3 measurements within the fair value measurement hierarchy (see Note 17 - Fair Value). Level 3 inputs included, among others, discount rates that we estimated would be used by a market participant in valuing these assets and liabilities, projections of revenues and cash flows, client attrition rates and market comparables.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI http://asc.fasb.org/topic&amp;trid=2303972<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701769441288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property and Equipment</a></td>
<td class="text">PROPERTY AND EQUIPMENT<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment were comprised of the following at December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.783%"><tr><td style="width:1.0%"/><td style="width:71.860%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.890%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.555%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.195%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Land</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,848&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,848&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Buildings and improvements</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,269&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,242&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,868&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,144&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">783&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,283&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office furniture and fixtures</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">682&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">829&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Automobiles</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,468&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,364&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,878)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,225)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,590&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,139&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI http://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99779-112916<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701767516440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Software Development<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock', window );">Software Development</a></td>
<td class="text">SOFTWARE DEVELOPMENT<div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software development costs are accounted for in accordance with ASC 350-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal-Use Software</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.  We capitalize incurred labor costs for software development from the time the preliminary project phase is completed until the software is available for general release.  Research and development costs and other computer software maintenance costs related to software development are expensed as incurred. We estimate the useful life of our capitalized software and amortize its value on a straight-line basis over that estimated life, which is estimated to be five years.  If the actual life of the asset is deemed to be impaired, a write-down of the value of the asset may be recorded as a charge to earnings.  Amortization begins when the related features are placed in service.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the second quarter of 2021, our ongoing monitoring activities associated with the capitalization of software development costs and the related correlation between capitalization rates and operational metrics designed to reflect the distribution of work revealed that our then-current labor capitalization methodology did not fully reflect all of the critical activities necessary to develop software assets. Consequently, during the second quarter of 2021, we elected to change our method of estimating the labor costs incurred in developing software assets.  Prior to this change, we estimated the associated labor costs using an estimated time-equivalent for workload metrics commonly utilized within agile software development environments.  With this change, we now estimate these labor costs using the distribution of these agile workload metrics between capitalizable and non-capitalizable units of work.  We believe this change is preferable as the new methodology better estimates capitalizable labor costs and is consistent with industry best practices. We have determined that this change in accounting for software development costs is a change in accounting estimate effected by a change in accounting principle and, as such, has been accounted for on a prospective basis.  In connection with this change, we capitalized software development costs of  $8.8 million during the year ended December 31, 2021.  We estimate that the effect of this change was to increase capitalized amounts by approximately $4.6 million for the year ended December 31, 2021, with a corresponding decrease to product development costs.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software development, net was comprised of the following at December&#160;31, 2021 and 2020:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.228%"><tr><td style="width:1.0%"/><td style="width:68.932%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.842%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.883%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.843%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Software development costs</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,693&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,328&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated amortization</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,049)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(118)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Software development costs, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,644&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,210&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility and in-process research and development acquired in a business combination consummated during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 730<br> -URI http://asc.fasb.org/subtopic&amp;trid=2197926<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762741128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Accrued Liabilities<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Other Accrued Liabilities</a></td>
<td class="text">OTHER ACCRUED LIABILITIES<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities were comprised of the following at December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:72.081%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.930%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.557%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.932%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Salaries and benefits</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,482&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,876&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Severance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">236&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commissions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,158&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,040&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Self-insurance reserves</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,409&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,776&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,786&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">551&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities, current portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,592&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,518&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other accrued liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,163&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,786&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a),20,24)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762886712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Net Income Per Share</a></td>
<td class="text">NET INCOME PER SHARE<div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company presents basic and diluted earnings per share ("EPS") data for its common stock. Basic EPS is calculated by dividing the net income attributable to stockholders of the Company by the weighted average number of shares of common stock outstanding during the period. Diluted EPS is determined by adjusting the net income attributable to stockholders of the Company and the weighted average number of shares of common stock outstanding during the period for the effects of all dilutive potential common shares, including awards under stock-based compensation arrangements.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's unvested restricted stock awards (see Note 9) are considered participating securities under ASC 260, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Earnings Per Share</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, because they entitle holders to non-forfeitable rights to dividends until the awards vest or are forfeited. When a company has a security that qualifies as a "participating security," the Codification requires the use of the two-class method when computing basic EPS. The two-class method is an earnings allocation formula that determines EPS for each class of common stock and participating security according to dividends declared (or accumulated) and participation rights in undistributed earnings. In determining the amount of net income to allocate to common stockholders, income is allocated to both common stock and participating securities based on their respective weighted average shares outstanding for the period, with net income attributable to common stockholders ultimately equaling net income less net income attributable to participating securities. Diluted EPS for the Company's common stock is computed using the more dilutive of the two-class method or the treasury stock method.</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a calculation of the basic and diluted EPS for the Company's common stock, including a reconciliation between net income and net income attributable to common stockholders for the years ended December 31, 2021, 2020, and 2019:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"/><td style="width:59.313%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.603%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.538%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.603%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.538%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.605%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands, except for per share data)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">Basic EPS</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,430&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,246&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,468&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Net income attributable to participating securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(409)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(429)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(764)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to common stockholders</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,021&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,817&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,704&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding used in basic per common share computations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,290&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,038&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,778&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic EPS</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.98&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.43&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">Diluted EPS</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to common stockholders for diluted EPS</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,021&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,817&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,704&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding used in basic per common share computations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,290&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,038&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,778&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average effect of dilutive securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding used in diluted per common share computations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,318&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,038&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,778&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted EPS</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.98&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.43&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI http://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701763189608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">INCOME TAXES<div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for income taxes in accordance with ASC 740, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accounting for Income Taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. These provisions require a company to determine whether it is more likely than not that a tax position will be sustained upon examination based on the technical merits of the position. If the more-likely-than-not threshold is met, a company must measure the tax position to determine the amount to recognize in the financial statements. The Company did not have any unrecognized tax positions as of December&#160;31, 2021 and 2020.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The federal returns for tax years 2018 through 2020 remain open to examination, and the tax years 2017 through 2020 remain open to examination by certain other taxing jurisdictions to which the Company is subject. Additional years may be open to the extent attributes are being carried forward to an open year.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred income taxes arise from the temporary differences in the recognition of income and expenses for tax purposes. A valuation allowance is established when the Company believes that it is more likely than not that some portion of its deferred tax assets will not be realized. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax assets and liabilities were comprised of the following at December&#160;31, 2021 and 2020:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable and financing receivables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">625&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">773&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued vacation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">678&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">691&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,905&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,568&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">283&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued severance </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued liabilities </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right of use asset</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,740&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,472&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,274&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,560&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,301&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,027&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,894&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">622&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">636&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,405&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,258&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities:</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,002&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,603&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued liabilities and other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,668&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">956&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fixed assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">875&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1077&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right of use liability</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,740&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax liabilities</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,285&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,636&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net deferred tax liability</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,880)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10,378)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant components of the income tax provision for the years ended December&#160;31, 2021, 2020 and 2019 were as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"/><td style="width:57.541%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.175%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current provision:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">731&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">244&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">860&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">413&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,539&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,357&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred provision:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,331&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,766&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">951&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income tax provision</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,646&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,538&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,228&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The difference between income taxes at the U.S. federal statutory income tax rate of 21% for the years ended December 31, 2021, 2020 and 2019, and those reported in the consolidated statements of operations for the years ended December&#160;31, 2021, 2020 and 2019 are as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"/><td style="width:57.541%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.175%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income taxes at U.S. federal statutory rate</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,846&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,945&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,976&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision-to-return adjustments</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">455&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(66)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State income tax, net of federal tax effect</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">509&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">908&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">978&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax credits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,274)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(958)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,196)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,050)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(74)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">255&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">151&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Change in valuation allowance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(165)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">173&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-deductible compensation - 162(m)</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">510&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">262&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income tax provision</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,646&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,538&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,228&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our effective tax rates for the years ended December 31, 2021, 2020 and 2019 were 20%, 24% and 14% respectively. Our effective tax rate for 2019 was significantly impacted by the non-taxable nature of our recorded gain on contingent </span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">consideration, which served to reduce the year's effective tax rate by over 4%.  2020 lacked any benefit to the effective tax rate from such contingent consideration and, when combined with more punitive provision to return adjustments primarily related to R&amp;D tax credits and lowered estimates for qualifying research expenditures during the year, thereby lowering estimates for the 2020 R&amp;D tax credit, resulted in a significant increase in the effective tax rate for 2020. Lowered provision to return adjustments resulted in an incremental 2.6% decrease in our effective tax rate for 2021 compared to 2020, while decreased tax shortfalls related to stock-based compensation arrangements resulted in an incremental 1.9% decrease in our effective tax rate for 2021 compared to 2020.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have federal net operating loss carryforwards related to the acquisition of HHI and Get Real Health of $7.9 million, $12.2 million and $27.9 million for the years ending December 31, 2021, 2020, and 2019, respectively, which expire at various dates from 2026 to 2035. We have state net operating loss carryforwards related to the acquisition of HHI and Get Real Health of $29.9 million, $34.4 million and $34.5 million for the years ending December 31, 2021, 2020, and 2019, respectively, which expire at various dates from 2023 to 2036.</span></div>Realization of deferred tax assets associated with the state net operating loss carryforwards is dependent upon generating sufficient taxable income prior to their expiration. We believe it is more likely than not that the benefit from certain state NOL carryforwards associated with the acquisition of Get Real Health will not be realized. In recognition of this risk, we have provided a valuation allowance on the deferred tax assets related to these state NOL carryforwards of $0.6 million after both December 31, 2021 and 2020, respectively.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701856799624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation and Equity<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock-Based Compensation and Equity</a></td>
<td class="text">STOCK-BASED COMPENSATION AND EQUITY<div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's stock-based compensation awards are in the form of restricted stock and performance share awards granted pursuant to the Company's 2012 Restricted Stock Plan for Non-Employee Directors, Amended and Restated 2014 Incentive Plan and 2019 Incentive Plan, as amended (the "Plans"). Stock-based compensation cost is measured at the grant date based on the fair value of the award, and is recognized as an expense over the employee&#8217;s or non-employee director&#8217;s requisite service period. As of December&#160;31, 2021, there was a total </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">o</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">f 334,629 sh</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ar</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">es of common stock reserved under the Plans for issuance under future share-based payment arrangements.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table details total stock-based compensation expense for the years ended December&#160;31, 2021, 2020 and 2019, included in the consolidated statements of operations:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"/><td style="width:57.541%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.175%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">990&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,474&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,040&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating expenses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,467&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,531&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,782&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-tax stock-based compensation expense</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,457&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,005&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,822&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: income tax effect</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,146)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,471)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,063)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net (after tax) stock-based compensation expense</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,311&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,534&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,759&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, there was $7.0 million of unrecognized compensation cost related to unvested or unearned, as applicable, stock-based compensation arrangements granted under the Plans, which is expected to be recognized over a weighted-average period of 1.9 years.</span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">       </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company grants restricted stock to executive officers, certain key employees and non-employee directors under the  2019 Incentive Plan with the fair value of the awards representing the fair value of the common stock on the date the restricted stock is granted. Shares of restricted stock generally vest in equal annual installments over the applicable vesting period, which ranges from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzE1MDI_77727322-af84-4fb8-9936-e10a3da6d6c2">one</span> to three years. The Company records expenses for these grants on a straight-line basis over the applicable vesting periods. Shares of restricted stock have also been issued pursuant to the settlement of performance share awards with one-year performance periods, for which the Company records expenses in the manner described in the "Performance Share Awards" section below.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Although no such one-year performance share awards were granted during 2021, shares issued pursuant to past one-year performance share awards are still subject to vesting.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of restricted stock activity (including shares of restricted stock issued pursuant to the settlement of performance share awards) under the Plans during the years ended December&#160;31, 2021, 2020 and 2019 is as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-Average</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Grant-Date</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair Value</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at January&#160;1, 2019</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">475,132&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32.00&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">133,936&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">138,566&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.80&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(221,775)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33.48&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at December&#160;31, 2019</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">525,859&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.51&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,771&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26.16&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,678&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.15&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(268,067)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.80&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,274)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26.16&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at December&#160;31, 2020</span></div></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">412,967&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.87&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153,700&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.22&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(245,455)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.16&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,329)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.10&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at December&#160;31, 2021</span></div></td><td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">314,883&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.79&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance Share Awards</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company grants performance share awards to executive officers and certain key employees under the Amended and Restated 2014 Incentive Plan prior to 2019 and under the 2019 Incentive Plan beginning in 2019. The number of shares of common stock earned and issuable under each award is determined at the end of each one-year or three-year performance period, based on the Company's achievement of performance goals predetermined by the Compensation Committee of the Board of Directors at the time of grant. The three-year performance share awards include a modifier to the total number of shares earned based on the Company's total shareholder return ("TSR") compared to an industry index. If certain levels of the performance objective are met, the award results in the issuance of shares of restricted stock or common stock corresponding to such level. One-year performance share awards are then subject to time-based vesting pursuant to which the shares of restricted stock vest in equal annual installments over the applicable vesting period, which is generally three years. Three-year performance share awards result in the issuance of shares of common stock that are not subject to time-based vesting at the conclusion of the three-year performance period if earned.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the event that the Company's financial performance meets the predetermined targets for the performance objectives of the one-year or three-year performance share awards, the Company will issue each award recipient the number of shares of restricted stock or common stock, as applicable, equal to the target award specified in the individual's underlying performance share award agreement. In the event the financial results of the Company exceed the predetermined targets, additional shares up to the maximum award may be issued. In the event the financial results of the Company fall below the predetermined targets, a reduced number of shares may be issued. If the financial results of the Company fall below the threshold performance levels, no shares will be issued. The total number of shares issued for the three-year performance share award may be increased, decreased, or unchanged based on the TSR modifier described above.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The recipients of performance share awards do not receive dividends or possess voting rights during the performance period and, accordingly, the fair value of the one-year performance share awards is the quoted market value of CPSI's common stock on the grant date less the present value of the expected dividends not received during the relevant period. The TSR modifier applicable to the three-year performance share awards is considered a market condition and therefore is reflected in the grant date fair value of the award. A Monte Carlo simulation has been used to account for this market condition in the grant date fair value of the award.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expense of one-year performance share awards is recognized using the accelerated attribution (graded vesting) method over the period beginning on the date the Company determines that it is probable that the performance criteria will be achieved and ending on the last day of the vesting period for the restricted stock issued in satisfaction of such awards. Expense of three-year performance share awards is recognized using ratable straight-line amortization over the three-year </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">performance period. In the event the Company determines it is no longer probable that the minimum performance level will be achieved, all previously recognized compensation expense related to the applicable awards is reversed in the period such a determination is made.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of performance share award activity under the Plans for the years ended December&#160;31, 2021, 2020 and 2019, is as follows, based on the target award amounts set forth in the performance share award agreements:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-Average</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Grant-Date</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair Value</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at January 1, 2019</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">184,776&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.15&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,310&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.95&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or unearned</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,189&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(138,566)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.80&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at December&#160;31, 2019</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,709&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.75&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107,298&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26.96&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or unearned</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35,477)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.15&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,678)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.15&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at December&#160;31, 2020</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252,852&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.27&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">93,444&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.26&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or unearned</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,373)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.92&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested and issued</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(75,971)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.50&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at December&#160;31, 2021</span></div></td><td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">249,952&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.59&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Repurchases</span></div>On September 4, 2020, our Board of Directors approved a stock repurchase program under which we may repurchase up to $30.0&#160;million of our common stock through September 3, 2022. During 2021, we repurchased 41,965 shares. The approximate dollar value of shares that may yet be repurchased under the stock repurchase program was $28.1 million as of  December&#160;31, 2021. Any future stock repurchase transactions may be made through open market purchases, privately-negotiated transactions, or otherwise in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.  Any repurchase activity will depend on many factors, such as the availability of shares of our common stock, general market conditions, the trading price of our common stock, alternative uses for capital, the Company's financial performance, compliance with the terms of our Amended and Restated Credit Agreement and other factors. Concurrent with the authorization of this stock repurchase program, the Board of Directors opted to indefinitely suspend all quarterly dividends.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762740120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Concentration of Credit Risk<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RisksAndUncertaintiesAbstract', window );"><strong>Risks and Uncertainties [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskDisclosureTextBlock', window );">Concentration of Credit Risk</a></td>
<td class="text">CONCENTRATION OF CREDIT RISK<div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments, which potentially subject the Company to concentration of credit risk, consist principally of temporary cash investments and trade receivables (including financing receivables). The Company places its temporary cash investments with credit-worthy, high-quality financial institutions.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s customer base is concentrated in the healthcare industry. Customers are primarily located throughout the United States. The Company requires no collateral or other security to support customer trade receivables. An allowance for credit losses for trade receivables and an allowance for credit losses for financing receivables have been established for potential credit losses based on historical collection experience.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains its cash and cash equivalents in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses in such accounts and does not believe it is exposed to any significant credit risk on cash and cash equivalents.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762885272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financing Receivables<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesTextBlock', window );">Financing Receivables</a></td>
<td class="text">FINANCING RECEIVABLES<div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Short-Term Payment Plans</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides fixed monthly payment arrangements ("short-term payment plans") over terms ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzI0MQ_7e7d4c17-971e-4d74-8af9-39fd108f1189">three</span> to twelve months for certain add-on software installations. As a practical expedient, we do not adjust the amount of consideration recognized as revenue for the financing component as unearned income when we expect payment within one year or less. These receivables, included in the current portion of financing receivables, were comprised of the following on December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term payment plans, gross</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">121&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,973&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(99)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term payment plans, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,874&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Long-Term Financing Arrangements</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, the Company provides financing for purchases of its information and patient care systems to certain healthcare providers under long-term financing arrangements expiring in various years through 2026. Under long-term financing arrangements, the transaction price is adjusted by a discount rate that reflects market conditions and that would be used for a separate financing transaction between the Company and licensee at contract inception, and takes into account the credit characteristics of the licensee and market interest rates as of the date of the agreement. As such, the amount of fixed fee revenue recognized at the beginning of the license term will be reduced by the calculated financing component. As payments are received from the licensee, the Company recognizes a portion of the financing component as interest income, reported as other income in the consolidated statements of operations. These receivables typically have terms from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzE2MzE_f4fadd3a-fc0c-450b-bdb7-8b9e189daf6d">two</span> to seven years.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">  The components of these receivables were as follows on December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term financing arrangements, gross</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,659&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,082&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(716)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,390)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: unearned income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,339)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,268)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term financing arrangements, net</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,604&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,424&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum payments to be received subsequent to December&#160;31, 2021 are as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.029%"><tr><td style="width:1.0%"/><td style="width:85.669%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.131%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,060&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,393&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,726&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,309&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total minimum payments to be received</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,659&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(716)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: unearned income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,339)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Receivables, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,604&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Quality of Financing Receivables and Allowance for Credit Losses</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table is a roll-forward of the allowance for financing credit losses for the years ended December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"><tr><td style="width:1.0%"/><td style="width:29.240%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.212%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.573%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.212%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.573%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.212%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.573%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.212%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.573%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.220%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Charge-offs</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recoveries</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,489&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">481&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,248)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">722&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,971&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,632&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,114)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,489&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s financing receivables are comprised of a single portfolio segment, as the balances are all derived from short-term payment plan arrangements and long-term financing arrangements within our target market of community hospitals. The Company evaluates the credit quality of its financing receivables based on a combination of factors, including, but not limited to, customer collection experience, economic conditions, the customer&#8217;s financial condition, and known risk characteristics impacting the respective customer base of community hospitals, the most notable of which relate to enacted and potential changes in Medicare and Medicaid reimbursement rates as community hospitals typically generate a significant portion of their revenues and related cash flows from beneficiaries of these programs. In addition to specific account identification, the Company utilizes historical collection experience to establish the allowance for credit losses. Financing receivables are written off only after the Company has exhausted all collection efforts. Write-off amounts during 2020 were uncharacteristically high as we wrote off large balances for a handful of customers for which specific reserves had been established as of December 31, 2019. Write-off amounts normalized during 2021.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer payments are considered past due if a scheduled payment is not received within contractually agreed upon terms. To facilitate customer collection and credit monitoring efforts, financing receivable amounts are invoiced and reclassified to trade accounts receivable when they become due, with all invoiced amounts placed on nonaccrual status. As a result, all past due amounts related to the Company&#8217;s financing receivables are included in trade accounts receivable in the accompanying consolidated balance sheets. The following is an analysis of the age of financing receivables amounts (excluding short-term payment plans) that have been reclassified to trade accounts receivable and were past due as of December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:43.004%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.069%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.412%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.141%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.565%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.069%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.565%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.075%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 to 90 Days</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91&#160;to&#160;180&#160;Days</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">181 + Days</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">713&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">864&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,270&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">227&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">672&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,169&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company may agree to alternative payment terms outside of the terms of the original financing receivable agreement due to customer difficulties in achieving the original terms. In general, such alternative payment arrangements do not result in a re-aging of the related receivables. Rather, payments pursuant to any alternative payment arrangements are applied to the already outstanding invoices beginning with the oldest outstanding invoices as the payments are received.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because amounts are reclassified to trade accounts receivable when they become due, there are no past due amounts included within the financing receivables or the financing receivables, current portion, net amounts in the accompanying consolidated balance sheets.</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company utilizes an aging of trade accounts receivable as the primary credit quality indicator for its financing receivables, which is facilitated by the reclassification of customer payment amounts to trade accounts receivable when they become due. The table below categorizes customer financing receivable balances (excluding short term payment plans), none of which are considered past due, based on the age of the oldest payment outstanding that has been reclassified to trade accounts receivable:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stratification of uninvoiced client financing receivables based on aging of related trade accounts receivable:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Uninvoiced client financing receivables related to trade accounts receivable that are 1 to 90 Days Past Due</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,100&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,719&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Uninvoiced client financing receivables related to trade accounts receivable that are 91 to 180 Days Past Due</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">329&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,092&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Uninvoiced client financing receivables related to trade accounts receivable that are 181+Days Past Due</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">386&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,668&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total uninvoiced client financing receivables balances of clients with a trade accounts receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,815&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,479&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total uninvoiced client financing receivables of clients with no related trade accounts receivable </span></td><td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,505&#160;</span></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,335&#160;</span></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financing receivables with contractual maturities of one year or less</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">121&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,973&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(722)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,489)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financing receivables</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,719&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,298&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for financing receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -URI http://asc.fasb.org/subtopic&amp;trid=2196772<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=2196816<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762785016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets and Goodwill<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Intangible Assets and Goodwill</a></td>
<td class="text">INTANGIBLE ASSETS AND GOODWILL<div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our purchased definite-lived intangible assets as of December&#160;31, 2021 and 2020 are summarized as follows:</span></div><div style="margin-top:9pt;padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"><tr><td style="width:1.0%"/><td style="width:43.945%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.963%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.700%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.963%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.700%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.963%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.700%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.966%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December&#160;31, 2021</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer Relationships</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademark</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed Technology</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross carrying amount, beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,370&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,120&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,700&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125,190&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets acquired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,200&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,200&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,900&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,300&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated amortization </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(41,738)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,177)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,372)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(67,287)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net intangible assets as of December&#160;31, 2021</span></div></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,832&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,143&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,228&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95,203&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average remaining years of useful life</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer Relationships</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademark</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed Technology</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross carrying amount, beginning of period </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,370&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,120&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,700&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125,190&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated amortization</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,612)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,297)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15,592)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(53,501)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net intangible assets as of December 31, 2020</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,758&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,823&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,108&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,689&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;padding-left:18pt"><span><br/></span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the remaining amortization of definite-lived intangible assets as of December&#160;31, 2021:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.345%"><tr><td style="width:1.0%"/><td style="width:85.698%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.102%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For the year ended December 31,</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,688&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,800&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,266&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,950&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,328&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,171&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95,203&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the change in the carrying amount of goodwill by segment for the years ended December&#160;31, 2021, 2020, and 2019:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"><tr><td style="width:1.0%"/><td style="width:47.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.665%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.665%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.817%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.821%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2018</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,095&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,570&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,784&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,449&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill acquired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,767&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,767&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2019</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,095&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,570&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,551&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150,216&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,095&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,570&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,551&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150,216&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill acquired</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,497&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,497&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,095&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,570&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,048&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">177,713&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determined there was no impairment to goodwill as of December 31, 2021, 2020, or 2019.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762906472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-Term Debt<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Long-Term Debt</a></td>
<td class="text">LONG-TERM DEBT<div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term debt was comprised of the following at December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"><tr><td style="width:1.0%"/><td style="width:56.890%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.143%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.322%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.145%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Term loan facility</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,375&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,125&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revolving credit facility</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,000&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Debt obligations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,375&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,125&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: debt issuance costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,015)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,308)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Debt obligation, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99,360&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,817&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: current portion</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,394)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,457)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94,966&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,360&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, the carrying value of debt approximates the fair value due to the variable interest rate which reflects market rates.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Agreement</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In conjunction with our acquisition of HHI in January 2016, we entered into a syndicated credit agreement with Regions Bank ("Regions") serving as administrative agent, which provided for a $125 million term loan facility and a $50 million revolving credit facility. On June 16, 2020, we entered into an Amended and Restated Credit Agreement that increased the aggregate principal amount of our credit facilities to $185 million, which includes a $75 million term loan facility and a $110 million revolving credit facility.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Each of our credit facilities continues to bear interest at a rate per annum equal to an applicable margin plus, at our option, either (1)&#160;the Adjusted LIBOR rate for the relevant interest period, subject to a floor of 0.50%, (2)&#160;an alternate base rate determined by reference to the greater of (a)&#160;the prime lending rate of Regions, (b)&#160;the federal funds rate for the relevant interest period plus one half of one percent per annum and (c)&#160;the one month LIBOR rate, subject to the aforementioned floor,  plus one percent per annum, or (3)&#160;a combination of (1)&#160;and (2). The applicable margin range for LIBOR loans and the letter of credit fee ranges from 1.8% to 3.0%. The applicable margin range for base rate loans ranges from 0.8% to 2.0%, in each case based on the Company's consolidated net leverage ratio. </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Principal payments with respect to the term loan facility are due on the last day of each fiscal quarter beginning September 30, 2020, with quarterly principal payments of approximately $0.9 million through June 30, 2022, approximately $1.4 million through June 30, 2024 and approximately $1.9 million through March 31, 2025, with maturity on June 16, 2025 or such earlier date as the obligations under the Amended and Restated Credit Agreement become due and payable pursuant to the terms of such agreement. Any principal outstanding under the revolving credit facility is due and payable on the maturity date.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Anticipated annual future maturities of the term loan facility and revolving credit facility are as follows as of December&#160;31, 2021:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:84.354%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.446%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,687&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,625&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,563&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83,500&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,375&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our credit facilities are secured pursuant to an Amended and Restated Pledge and Security Agreement, dated June 16, 2020, among the parties identified as obligors therein and Regions, as collateral agent, on a first priority basis by a security interest in substantially all of the tangible and intangible assets (subject to certain exceptions) of the Company and certain subsidiaries of the Company, as guarantors (collectively, the &#8220;Subsidiary Guarantors&#8221;), including certain registered intellectual property and the capital stock of certain of the Company&#8217;s direct and indirect subsidiaries. Our obligations under the Amended and Restated Credit Agreement are also guaranteed by the Subsidiary Guarantors.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Amended and Restated Credit Agreement provides incremental facility capacity of $50 million, subject to certain conditions. The Amended and Restated Credit Agreement includes a number of restrictive covenants that, among other things and in each case subject to certain exceptions and baskets, impose operating and financial restrictions on the Company and the Subsidiary Guarantors, including the ability to incur additional debt; incur liens and encumbrances; make certain restricted payments, including paying dividends on the Company's equity securities or payments to redeem, repurchase or retire the Company's equity securities (which are subject to our compliance, on a pro forma basis to give effect to the restricted payment, with the fixed charge coverage ratio and consolidated net leverage ratio described below); enter into certain restrictive agreements; make investments, loans and acquisitions; merge or consolidate with any other person; dispose of assets; enter into sale and leaseback transactions; engage in transactions with affiliates; and materially alter the business we conduct. The Amended and Restated Credit Agreement requires the Company to maintain a minimum fixed charge coverage ratio of 1.25:1.00 throughout the duration of such agreement. Under the Amended and Restated Credit Agreement, the Company is required to comply with a maximum consolidated net leverage ratio of 3.50:1.00. The Amended and Restated Credit Agreement also contains customary representations and warranties, affirmative covenants and events of default. We believe that we were in compliance with the covenants contained in the credit agreement as of December&#160;31, 2021.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Amended and Restated Credit Agreement requires the Company to mandatorily prepay our credit facilities with 50% of excess cash flow (minus certain specified other payments). This mandatory prepayment requirement is applicable only if the Company's net leverage ratio exceeds 2.50:1.00.  The Company is permitted to voluntarily prepay our credit facilities at any time without penalty, subject to customary &#8220;breakage&#8221; costs with respect to prepayments of LIBOR rate loans made on a day other than the last day of any applicable interest period. The excess cash flow mandatory prepayment requirement under the credit agreement did not result in a prepayment in 2021 or 2020.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI http://asc.fasb.org/topic&amp;trid=2208564<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762760696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Benefit Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement Benefits [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Benefit Plans</a></td>
<td class="text">BENEFIT PLANS<div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 1994, the Company adopted the CPSI 401(k) Retirement Plan that covers all eligible employees of the Company. The plan allows eligible employees to contribute up to 60% of their pre-tax earnings up to the statutory limit prescribed by the Internal Revenue Service. The Company matches a discretionary amount determined by the Board of Directors. The Company contributed approximately $3.2 million, $3.2 million, and $2.9 million to the plan for the years ended December&#160;31, 2021, 2020 and 2019, respectively.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides certain health and medical benefits to eligible employees, their spouses and dependents pursuant to a benefit plan funded by the Company. Each participating employee contributes to the Company&#8217;s costs associated with such benefit plan. The Company&#8217;s obligation to fund this benefit plan and pay for these benefits is limited through the Company&#8217;s purchase of an insurance policy from a third-party insurer. The amount established as a reserve is intended to recognize the Company&#8217;s estimated obligations with respect to its payment of claims and claims incurred but not yet reported under the benefit plan. Management believes that the recorded liability for medical self-insurance at December&#160;31, 2021 and 2020 is adequate to cover the losses and claims incurred, but these reserves are based on estimates and the amount ultimately paid may be more or less than such estimates.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section S99<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=21916913&amp;loc=d3e273930-122802<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -URI http://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -URI http://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI http://asc.fasb.org/topic&amp;trid=2235017<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 60<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6414203&amp;loc=d3e39689-114964<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -URI http://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -URI http://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -URI http://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762809432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Operating Leases</a></td>
<td class="text">OPERATING LEASES<div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases office space in various locations in Alabama, Pennsylvania, Minnesota, Maryland, and Mississippi. These leases have terms expiring from 2022 through 2030 but do contain optional extension terms. Leases with an initial term of 12 months or less are not recorded on the balance sheet. We recognize lease expense on a straight-line basis over the lease term.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 28, 2021, the Company terminated its lease agreement for approximately 45,000 square feet of office space in Fairhope, Alabama. Pursuant to a Termination of Lease Agreement dated July 28, 2021, the Company paid $0.9&#160;million to the landlord as consideration for the early termination.  In connection with the lease termination, the Company derecognized the assets and liabilities associated with the operating lease and recorded a $0.3&#160;million loss on the disposal of leasehold improvements.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental balance sheet information related to operating leases is as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:86.172%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.628%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease assets</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,097&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_11044054-b20b-4e64-84db-2255f5137354"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_a06dcfd3-4852-44f1-b934-aaacbec8f4c5">Other accrued liabilities</span></span></span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,592&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities, net of current portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,505&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating lease liabilities</span></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,097&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average remaining lease term in years</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average discount rate</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.6%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. We used the incremental borrowing rate on January 1, 2019, for operating leases that commenced prior to that date.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The future minimum lease payments payable under these operating leases subsequent to December&#160;31, 2021 are as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:85.718%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.082%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,592&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,520&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,411&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,202&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,225&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,115&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,065&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(968)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,097&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total rent expense for the years ended December&#160;31, 2021, 2020, and 2019 was $1.8&#160;million, $1.7&#160;million, and $2.2&#160;million, respectively.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total cash paid for amounts included in the measurement of lease liabilities within operating cash flows from operating leases for the year ended December 31, 2021 was $1.8&#160;million.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762746008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">COMMITMENTS AND CONTINGENCIESFrom time to time, the Company is involved in routine litigation that arises in the ordinary course of business. Management does not believe it is reasonably possible that such matters will have a material adverse effect on the Company&#8217;s financial statements.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701769459528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value</a></td>
<td class="text">FAIR VALUE<div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 820, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurements and Disclosures,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> establishes a framework for measuring fair value and expands financial statement disclosures about fair value measurements. Fair value is the price that would be received to sell an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants at the measurement date. The Codification topic does not require any new fair value measurements, but rather applies to all other accounting pronouncements that require or permit fair value measurements. The Codification topic requires that assets and liabilities carried at fair value be classified and disclosed in one of the following three categories:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1: Quoted market prices in active markets for identical assets or liabilities.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2: Observable market-based inputs or unobservable inputs that are corroborated by market data.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3: Unobservable inputs that are not corroborated by market data.</span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, we measured the fair value of contingent consideration that represents the potential earnout incentive for TruCode&#8217;s former equity holders.  We estimated the fair value of the contingent consideration based on the probability of TruCode meeting EBITDA targets (subject to certain pro-forma adjustments). We did not have any other instruments that required fair value measurement as of December 31, 2021.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the carrying amount and fair value of the contingent consideration at December 31, 2021:</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"><tr><td style="width:1.0%"/><td style="width:23.817%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.236%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.625%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.886%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.625%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.886%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.625%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.200%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value at December 31, 2021 Using</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Carrying Amount at 12/31/21</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Quoted Price in Active Markets for Identical Assets (Level 1)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Significant Other Observable Inputs (Level 2)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Significant Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Description</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent Consideration</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701769433672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Reporting<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Segment Reporting</a></td>
<td class="text">SEGMENT REPORTING<div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our chief operating decision makers ("CODM") utilize three operating segments, "Acute Care EHR", "Post-acute Care EHR" and "TruBridge", based on our three distinct business units with unique market dynamics and opportunities. Revenues and costs of sales are primarily derived from the provision of services and sales of our proprietary software, and our CODM assess the performance of these three segments at the gross profit level. Operating expenses and items such as interest, income tax, capital expenditures and total assets are managed at a consolidated level and thus are not included in our operating segment disclosures. Our CODM group is comprised of the Chief Executive Officer, Chief Growth Officer, Chief Operating Officer, and Chief Financial Officer. Accounting policies for each of the reportable segments are the same as those used on a consolidated basis. </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a summary of the revenues, cost of sales, and gross profit of our three operating segments for the years ended December 31, 2021, 2020, and 2019:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:59.506%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.012%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.012%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenues:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recurring revenue</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">108,440&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105,597&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">109,046&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-recurring revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,939&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,173&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,028&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Acute Care EHR revenue</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125,379&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">134,770&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144,074&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recurring revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,472&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,272&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,466&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-recurring revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,258&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,912&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,812&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Post-acute Care EHR revenue</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,730&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,184&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,278&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137,520&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,534&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">109,282&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">280,629&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">264,488&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274,634&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,776&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,540&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,569&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,888&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,821&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,303&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,083&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,881&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56,617&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cost of sales</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,747&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,242&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,489&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,603&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,230&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,505&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,842&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,363&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,975&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,437&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,653&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,665&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,882&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,246&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144,145&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate operating expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(116,175)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(115,192)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(119,562)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income </span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,529&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,494&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">807&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gain on contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss on extinguishment of debt</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(202)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,160)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,562)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,694)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before taxes</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,076&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,784&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,696&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI http://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762828456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events</a></td>
<td class="text">SUBSEQUENT EVENTS<div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 1, 2022, the Company acquired all of the assets and liabilities of Healthcare Resource Group, Inc., a Washington corporation ("HRG"), pursuant to a Stock Purchase Agreement dated March 1, 2022. Based in Spokane, Washington, HRG is a leading provider of customized RCM solutions and consulting services that enable hospitals and clinics to improve efficiency, profitability, and patient satisfaction. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Stock Purchase Agreement provides for a total purchase price of $44.0&#160;million, subject to various upward or downward adjustments, including for working capital, cash, indebtedness, and transaction expenses of HRG. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to the proximity of the acquisition date to the Company's filing of its Annual Report on Form 10-K for the year ended December 31, 2021, the initial accounting for the HRG business combination is incomplete, and therefore the Company is unable to disclose certain information required by ASC 805, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Business Combinations, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">including the provisional amounts recognized as of the acquisition date for each major class of assets acquired, liabilities assumed and goodwill. A preliminary valuation assessment is expected to be provided on our quarterly report on Form 10-Q for the three month ended March 31, 2022.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI http://asc.fasb.org/topic&amp;trid=2122774<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701763212984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COVID-19 Pandemic<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Text Block [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_CARESActTextBlock', window );">COVID-19 Pandemic</a></td>
<td class="text">COVID-19 PANDEMIC <div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2019, a novel coronavirus disease ("COVID-19") was reported, and in January 2020, the World Health Organization ("WHO") declared it a Public Health Emergency of International Concern. In February 2020, the WHO raised its assessment of the COVID-19 threat from high to very high at a global level due to the continued increase in the number of cases and affected countries, and in March 2020, the WHO characterized COVID-19 as a pandemic and the President of the United States declared the COVID-19 outbreak a national emergency.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The COVID-19 pandemic has caused, and is continuing to cause, severe economic, market, and other disruptions to the U.S. and global economies. The Company began experiencing adverse business conditions beginning in the latter half of March 2020, which have persisted through the date of this report, including the results of operations for the year ended December 31, 2021. Most notably:</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Travel restrictions and social distancing protocols have created an additional challenge to our on-site implementation and sales teams. Although we have shown success with remote implementation models and our sales representatives are engaging in remote contact with existing customers and prospects, these restrictions and protocols are expected to continue to have an incrementally negative impact on implementation revenues and new sales generation.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Although patient volumes at our client hospitals have largely recovered from the severe declines in such volumes experienced during much of 2020, there can be no guarantee as to the permanence of this recovery. As the overwhelming majority of TruBridge revenues are directly or indirectly correlated with client patient volumes, any further reduction in these patient volumes may negatively impact our related revenues.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Although we have experienced no notable disruption to our operating cash flows through the date of this report,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the aforementioned limitations on travel and decreased client patient volumes increase the risk of decreased cash collections from our customers as long as these conditions persist. Such decreases in cash collections could be further negatively impacted by the amount and extent to which the pandemic impacts the financial condition and liquidity of our customers.</span></div>Despite these adverse business conditions, the pandemic has had a muted impact on our financial condition as of December 31, 2021. However, the ultimate impact of COVID-19 on our operations and financial performance in future periods remains uncertain and will depend on future pandemic related developments, including the duration of the pandemic, any potential subsequent waves of COVID-19 infection, emergence of new variants, the effectiveness, distribution, and acceptance of COVID-19 vaccines, and related government actions to prevent and manage disease spread, all of which are uncertain and cannot be predicted. Consequently, the ongoing pandemic could result in a material impact to the Company's future financial position, results of operations, cash flows and liquidity.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_CARESActTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>CARES Act</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_CARESActTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762807752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II - Valuation and Qualifying Accounts<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ValuationAndQualifyingAccountsAbstract', window );"><strong>SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock', window );">Schedule II - Valuation and Qualifying Accounts</a></td>
<td class="text"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">VALUATION AND QUALIFYING ACCOUNTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"><tr><td style="width:1.0%"/><td style="width:31.790%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.731%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.537%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.731%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.537%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.731%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.537%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.731%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.537%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.738%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Description</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Balance at</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">beginning of</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">period</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Additions</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">charged&#160;to&#160;cost</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">and expenses (1)</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Deductions (2)</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Balance&#160;at&#160;end</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">of period</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowance for credit losses deducted from accounts receivable in the balance sheet</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,124&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,378&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,424)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,078&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,078&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,825&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,202)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,701&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,701&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,111&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,986)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,826&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)   Adjustments to allowance for change in estimates.</span></div><div style="padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)   Uncollectible accounts written off, net of recoveries.</span></div><div style="padding-left:13.5pt"><span><br/></span></div><div style="padding-left:6.75pt;padding-right:6.75pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"><tr><td style="width:1.0%"/><td style="width:31.790%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.731%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.537%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.731%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.537%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.731%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.537%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.731%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.537%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.738%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Description</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Balance at</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">beginning&#160;of</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">period</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Additions</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">charged&#160;to&#160;cost</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">and expenses (1)</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Deductions (2)</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Balance&#160;at&#160;end</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">of period</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowance for credit losses deducted from financing receivables in the balance sheet</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,567&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">970&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(566)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,971&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,971&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,632&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,114)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,489&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,489&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">481&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,248)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">722&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)   Adjustments to allowance for change in estimates.</span></div><div style="padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)   Uncollectible accounts written off, net of recoveries.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 09<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ValuationAndQualifyingAccountsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ValuationAndQualifyingAccountsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762976776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Principles of Consolidation</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements of CPSI include the accounts of TruBridge, LLC ("TruBridge"), Evident, LLC ("Evident"), iNetXperts, Corp. d/b/a Get Real Health ("Get Real Health"),  Healthland Holding Inc. ("HHI"), and TruCode, LLC ("TruCode"), all of which are wholly-owned subsidiaries of CPSI. The accounts of HHI include those of its wholly-owned subsidiaries, Healthland Inc. ("Healthland"), Rycan Technologies, Inc. ("Rycan"), and American HealthTech, Inc. ("AHT"). All significant intercompany balances and transactions have been eliminated.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash and Cash Equivalents</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents can include time deposits and certificates of deposit with original maturities of three months or less that are highly liquid and readily convertible to a known amount of cash. These assets are stated at cost, which approximates market value, due to their short duration or liquid nature.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsFiniteLivedPolicy', window );">Change in Useful Lives of Intangible Assets</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Change in Useful Lives of Intangible Assets</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In accordance with its policy, the Company reviews the estimated useful lives of its intangible assets on an ongoing basis. This review indicated that the actual lives of certain developed technology were shorter than the estimated useful lives used for amortization purposes in the Company's financial statements. As a result, effective January 1, 2021, the Company changed its estimates of the useful lives of certain developed technology to better reflect the estimated periods during which these assets will remain in service. The remaining useful life of certain developed technology that was 3.25 years at January 1, 2021 was reduced to 2 years, while the remaining useful life of certain developed technology that was 4.25 years was reduced to 3 years. The effect of this change was to increase 2021 amortization expense by approximately $1.0&#160;million and decrease 2021 net income and basic and diluted earnings per share by $0.8&#160;million and $0.06, respectively.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PriorPeriodReclassificationAdjustmentDescription', window );">Presentation</a></td>
<td class="text">PresentationEffective January 1, 2021, costs associated with our internal legal, compliance, and contract administration activities, which were formerly included within the caption &#8220;Sales and marketing&#8221; on our consolidated statements of operations, have been recorded as a component of &#8220;General and administrative&#8221; expenses.  Amounts presented for the years ended December 31, 2020 and 2019, have been reclassified to conform to the current presentation.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock', window );">Accounts Receivable and Allowance for Credit Losses</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts Receivable and Allowance for Credit Losses</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trade accounts receivable are stated at the amount the Company expects to collect and do not bear interest. The Company establishes a general allowance for credit losses based on collections history. In the case of a bankruptcy filing or other similar event indicating the collectability of specific customer accounts is no longer probable, a specific allowance for credit losses may be recorded to reduce the related receivable to the amount expected to be recovered.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_FinancingReceivablesPolicyPolicyTextBlock', window );">Financing Receivables</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Financing Receivables</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financing receivables are comprised of short-term payment plans and sales-type leases. Short-term payment plans are stated at the amount the Company expects to collect and do not bear interest. Sales-type leases are initially recorded at the present value of the related minimum lease payments.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An allowance for credit losses has been established for our financing receivables based on the historical level of customer defaults under such arrangements. In the case of a bankruptcy filing or other similar event indicating the collectability of specific customer accounts is no longer probable, a specific reserve may be recorded to reduce the related receivable to the amount expected to be recovered. Customer payments are considered past due if a scheduled payment is not received within contractually agreed upon terms, with amounts reclassified to accounts receivable when they become due. As a result, we evaluate the credit quality of our financing receivables on an ongoing basis utilizing an aging of receivables and write-offs, customer collection experience, the customer&#8217;s financial condition and known risk characteristics impacting the respective customer base, as well as existing economic conditions, to determine if any further allowance is necessary. Amounts are specifically charged off once all available means of collection have been exhausted.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text">InventoriesInventories are stated at lower of cost or net realizable value using the average cost method. The Company&#8217;s inventories are comprised of computer equipment, forms and supplies.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment is recorded at cost, less accumulated depreciation. Additions and improvements to property and equipment that materially increase productive capacity or extend the life of an asset are capitalized. Maintenance, repairs and minor renewals are expensed as incurred. Upon retirement or other disposition of such assets, the related costs and accumulated depreciation are removed from the respective accounts and any resulting gain or loss is included in the results of operations.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense is computed using the straight-line method over the asset&#8217;s useful life, which is generally 5 years for computer equipment, furniture, and fixtures and 30 years for buildings. Leasehold improvements are depreciated over the shorter of the asset&#8217;s useful life or the remaining lease term. The Company reviews for the possible impairment of long-lived assets whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. Depreciation expense is reported in the consolidated statements of operations as a component of costs of sales and operating expenses.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationsPolicy', window );">Business Combinations</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Combinations</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We apply business combination accounting when we acquire a business. Business combinations are accounted for at fair value. The associated acquisition costs are expensed as incurred and recorded in general and administrative expenses; restructuring costs associated with a business combination are expenses; contingent consideration is measured at fair value at the acquisition date, with changes in fair value after the acquisition date affecting earnings; changes in deferred tax asset valuation allowances and income tax uncertainties after the measurement period affect income tax expense; and goodwill is determined as the excess of the fair value of the consideration conveyed in the acquisition over the fair value of the net </span></div>assets acquired. The accounting for business combinations requires estimates and judgments as to expectations for future cash flows of the acquired business, and the allocation of those cash flows to identifiable intangible assets, in determining the estimated fair value for assets and liabilities acquired. The fair values assigned to tangible and intangible assets acquired and liabilities assumed, are based on management's estimates and assumptions, including valuations that utilize customary valuation procedures and techniques. If the actual results differ from the estimates and judgments used in these estimates, the amounts recorded in the financial statements could result in a possible impairment of the intangible assets and goodwill, or require acceleration of the amortization expense of finite-lived intangible assets. The results of the acquired businesses' operations are included in the Consolidated Statements of Operations of the combined entity beginning on the date of the acquisition. We have applied this acquisition method to the transactions described in Note 3 - Business Combination.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy', window );">Goodwill</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is recorded as the difference, if any, between the aggregate consideration paid for an acquisition and the fair value of the identifiable net tangible and intangible assets acquired. Goodwill is not amortized but is evaluated for impairment annually or more frequently if indicators of impairment are present or changes in circumstances suggest that impairment may exist. We test annually for impairment as of October 1. </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of our annual goodwill impairment test, we first assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. If we conclude that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, we conduct a quantitative goodwill impairment assessment, which compares the fair value of the reporting unit with its carrying amount, including goodwill. If the carrying amount of the reporting unit exceeds its fair value, an impairment charge is recognized for the amount by which the carrying amount exceeds the total amount of goodwill allocated to that reporting unit. If the fair value of the reporting unit exceeds its carrying amount, the goodwill of the reporting unit is not considered to be impaired. We determined there was no impairment to goodwill for the years ended December 31, 2021, 2020 and 2019.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy', window );">Purchased Intangible Assets</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Purchased Intangible Assets</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Purchased intangible assets are acquired in connection with a business acquisition, and are amortized over their estimated useful lives based on the pattern of economic benefit expected from each asset. We concluded for certain purchased intangible assets that the pattern of economic benefit approximated the straight-line method, and therefore, the use of the straight-line method was appropriate, as the majority of the cash flows will be recognized ratably over the estimated useful lives and there is no degradation of the cash flows over time. </span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We assess the recoverability of intangible assets whenever events or changes in circumstances indicate that the carrying amount of the asset may not be recoverable. The carrying amount is not recoverable if it exceeds the undiscounted sum of cash flows expected to result from the use and eventual disposition of the asset. If the asset is not recoverable, the impairment loss is measured by the excess of the asset's carrying amount over its fair value. We determined there was no impairment to purchased intangible assets as of December 31, 2021, 2020 or 2019.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized upon transfer of control of promised products or services to clients in an amount that reflects the consideration we expect to receive in exchange for those products and services. We enter into contracts that can include various combinations of products and services, which are generally distinct and accounted for as separate performance obligations. The Company employs the 5-step revenue recognition model under ASC 606, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue from Contracts with Customers,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> to: (1) identify the contract with the client, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when (or as) the entity satisfies a performance obligation.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized net of shipping charges and any taxes collected from clients, which are subsequently remitted to governmental authorities. </span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">System Sales and Support</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into contractual obligations to sell perpetual software licenses, installation, conversion, and related training services, software application support, hardware, and hardware maintenance services to acute care community hospitals and post-acute providers. </span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:14.5pt">Non-recurring Revenues</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Perpetual software licenses and installation, conversion, and related training services are not considered separate and distinct performance obligations due to the proprietary nature of our software and are, therefore, accounted for as a single performance obligation on a module-by-module basis. Revenue is recognized as each module's implementation is completed based on the module's stand-alone selling price ("SSP"), net of discounts. We determine each module's SSP using the residual method. Fees for licenses and installation, conversion, and related training services are typically due in three installments: (1) at placement of order, (2) upon installation of software and commencement of training, and (3) upon satisfactory completion of monthly accounting cycle or end-of-month operation by application and as applicable for each application. Often, short-term and/or long-term financing arrangements are provided for software implementations; refer to Note 11 - Financing Receivables for further information. Electronic health records ("EHR") implementations include a system warranty that terminates thirty days from the software go-live date, the date which the client begins using the system in a live environment.</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Hardware revenue is recognized separately from software licenses at the point in time it is delivered to the client. The SSP of hardware is cost plus a reasonable margin and revenue is recognized on a gross basis. Payment is generally due upon delivery of the hardware to the client. Standard manufacturer warranties apply to hardware.</span></div><div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:14.5pt">Recurring Revenues</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Software application support and hardware maintenance services sold with software licenses and hardware are separate and distinct performance obligations. Revenue for support and maintenance services is recognized based on SSP, which is the renewal price, ratably over the life of the contract, which is generally <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEyMjU1_9cf6cf15-0f35-4978-9dd4-6c7c8e333172">three</span> to five years. Payment is due monthly for support and maintenance services provided.</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Subscriptions to third-party content revenue is recognized as a separate performance obligation ratably over the subscription term based on SSP, which is cost plus a reasonable margin, and revenue is recognized on a gross basis. Payment is due monthly for subscriptions to third party content.</span></div><div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Software as a Service ("SaaS") arrangements for EHR software and related conversion and training services are considered a single performance obligation. Revenue is recognized on a monthly basis as the SaaS service is provided to the client over the contract term. Payment is due monthly for SaaS services provided.</span></div><div style="margin-top:9pt;padding-left:99pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 18 - Segment Reporting for further information, including revenue by client base (acute care or post-acute care) bifurcated by recurring and non-recurring revenue.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">TruBridge</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">TruBridge provides an array of business processing services ("BPS") consisting of accounts receivable &#160;&#160;&#160;&#160;management, private pay services, insurance services, medical coding, electronic billing, statement processing, payroll processing, and contract management. Fees are recognized over the period of the client contractual relationship as the services are performed based on the SSP, net of discounts. SSP for TruBridge BPS services is determined based on observable stand-alone selling prices. Fees for many of these services are invoiced, and revenue recognized accordingly, based on the volume of transactions or a percentage of client accounts receivable collections. Payment is due monthly for BPS with certain amounts varying based on utilization and/or volumes.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">TruBridge also provides professional IT services. Revenue from professional IT services is recognized as the services are performed based on SSP, which is determined by observable stand-alone selling prices. Payment is due monthly as services are performed. </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lastly, TruBridge also provides certain software solutions and related support under SaaS arrangements and time-based software licenses.  Revenue from SaaS arrangements is recognized in a manner consistent with SaaS arrangements for EHR software, as discussed above.  Revenue from time-based software licenses is recognized upon delivery to the client (&#8220;point in time&#8221;) and revenue from non-license components (i.e., support) is </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">recognized ratably over the respective contract term (&#8220;over time&#8221;). SSP for time-based licenses is determined using the residual approach, while the non-license component is based on cost plus reasonable margin.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Deferred Revenue</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue represents amounts invoiced to clients for which the services under contract have not been completed and revenue has not been recognized, including annual renewals of certain software subscriptions and customer deposits for implementations to be performed at a later date. Revenue is recognized ratably over the life of the software subscriptions as services are provided and at the point-in-time when implementations have been completed.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table details deferred revenue for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.304%"><tr><td style="width:1.0%"/><td style="width:67.608%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.303%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.283%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.306%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For years ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,130&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,628&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue recorded</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,393&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,507&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue acquired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,300&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less deferred revenue recognized as revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21,294)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,005)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,529&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,130&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The deferred revenue recorded for years ended December 31, 2021 and 2020 is comprised primarily of the annual renewals of certain software subscriptions billed during the first quarter of each year and deposits collected for future EHR installations. The deferred revenue acquired resulted from the May 2021 acquisition of TruCode. The deferred revenue recognized as revenue during the years ended December 31, 2021 and 2020 is comprised primarily of the periodic recognition of annual renewals that were deferred until earned and deposits for future EHR installations that were deferred until earned.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Costs to Obtain and Fulfill a Contract with a Customer</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs to obtain a contract include the commission costs related to SaaS arrangements, which are capitalized and amortized ratably over the expected life of the customer. As a practical expedient, we generally recognize the incremental costs of obtaining a contract as an expense when incurred if the amortization period of the asset would have been one year or less, with the exception of commissions generated from TruBridge sales. TruBridge commissions, which are paid up to twelve months in advance, are capitalized and amortized over the prepayment period. Costs to obtain a contract are expensed within sales and marketing expenses in the accompanying consolidated statements of operations.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract fulfillment costs related to the implementation of SaaS arrangements are capitalized and amortized ratably over the expected life of the customer. Costs to fulfill contracts consist of the payroll costs for the implementation of SaaS arrangements, including time for training, conversion, and installation that is necessary for the software to be utilized. Contract fulfillment costs are expensed within </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the caption "System sales and support - Cost of sales" in the accompanying consolidated statements of operations.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs to obtain and fulfill contracts related to SaaS arrangements are included within the "Prepaid expenses and other" and "Other assets, net of current portion" line items on our consolidated balance sheets.  </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table details costs to obtain and fulfill contracts with customers for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"><tr><td style="width:1.0%"/><td style="width:70.187%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.256%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.955%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.102%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For years ended December 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,992&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,439&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs to obtain and fulfill contracts capitalized</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,256&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,974&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less costs to obtain and fulfill contracts recognized as expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,936)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,421)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,312&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,992&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Significant Judgments</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contracts with clients often include promises to transfer multiple products and services. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Judgment is required to determine SSP for each distinct performance obligation. We use observable SSP for items that are sold on a stand-alone basis to similarly situated clients at unit prices within a sufficiently narrow range. For performance obligations that are sold to different clients for a broad range of amounts, or for performance obligations that are never sold on a stand-alone basis, the residual method in determining SSP is applied and requires significant judgment.</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Allocating the transaction price, including estimating SSP of promised goods and services for contracts with discounts or variable consideration, may require significant judgment. Due to the short time frame of the implementation cycle, discount allocation is immaterial as revenue is recognized net of discounts within the same reporting period. In scenarios where the Company enters into a contract that includes both a software license and BPS or other services that are charged based on volume of services rendered, the Company allocates variable amounts entirely to a distinct good or service. The terms of the variable payment relate specifically to the entity&#8217;s efforts to satisfy that performance obligation. </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant judgment is required in determining the expected life of a customer, which is the amortization period for costs to obtain and fulfill a contract that have been capitalized. The Company determined that the expected life of the customer is not materially different from the initial contract term based on the characteristics of the SaaS offering.</span></div><div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt">Remaining Performance Obligations</span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Disclosures regarding remaining performance obligations are not considered material as the overwhelming majority of the Company's remaining performance obligations either (a) are related to contracts with an expected duration of one year or less, or (b) exhibit revenue recognition in the amount to which the Company has the right to invoice.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsPolicyTextBlock', window );">Stock-Based Compensation</a></td>
<td class="text">Stock-Based Compensation<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for stock-based compensation according to the provisions of ASC 718, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Compensation &#8211; Stock Compensation</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which establishes accounting for stock-based awards exchanged for employee services. Accordingly, stock-based compensation cost is measured at the grant date based on the fair value of the award, and is recognized as an expense over the employee&#8217;s or non-employee director&#8217;s requisite service period.</span><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock', window );">Software Development Costs</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Software Development Costs</span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our software solutions are offered to our clients through both traditional perpetual licenses as well as SaaS delivery models.  Development costs associated with the certain solutions offered exclusively through a SaaS model are accounted for in accordance with ASC 350-40, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal Use Software</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.  All other client solution development costs are accounted for in accordance with ASC 985-20, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Costs of Software to be Sold, Leased, or Marketed</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under ASC 985-20, software development costs incurred in creating computer software solutions are expensed until technological feasibility has been established upon completion of a detailed program design or, in the absence of a detailed program design, upon completion of a product design and working model of the software product.  Thereafter, all software development costs incurred through the software&#8217;s general release date are capitalized and subsequently recorded at the lower of amortized cost or net realizable value.  Capitalized costs are amortized based on the current and expected future revenue for each software solution with minimum annual amortization equal to the straight-line amortization over the estimated economic life of the solution, which is estimated to be five years.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under ASC 350-40, software development costs related to preliminary project activities and post-implementation and maintenance activities are expensed as incurred.  We capitalize direct costs related to application development activities that are probable to result in additional functionality.  Capitalized costs are amortized on a straight-line basis over five years. We test for impairment whenever events or changes in circumstances that could impact recoverability occur.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note 5 - Software Development for further information relating to our software development costs.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for income taxes in accordance with ASC 740, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accounting for Income Taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Under this topic, deferred income taxes are determined utilizing the asset and liability approach. This method gives consideration to the future tax consequences associated with differences between financial accounting and tax bases of assets and liabilities. The effect on the deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date. We recognize interest and penalties accrued related to unrecognized tax benefits in the consolidated statements of operations as a component of the provision for income taxes.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also make a provision for uncertain income tax positions in accordance with the ASC 740, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accounting for Income Taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. These provisions require that a tax position taken in a tax return be recognized in the financial statements when it is more likely than not (i.e., a likelihood of more than fifty percent) that the position would be sustained upon examination by tax authorities. A recognized tax position is then measured at the largest amount of benefit that is greater than fifty percent likely of being realized upon settlement. The topic also requires that changes in judgment that result in subsequent recognition, derecognition, or change in a measurement date of a tax position taken in a prior annual period (including any related interest and penalties) be recognized as a discrete item in the interim period in which the change occurs.</span></div>Valuation allowances are recorded when, in the opinion of management, it is more likely than not that all or a portion of the deferred tax assets will not be realized. These valuation allowances can be impacted by changes in tax laws, changes to statutory tax rates, and future taxable income, and are based on our judgment, estimates, and assumptions.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with U.S. GAAP requires that management make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosures of contingent assets and liabilities at the date of the financial statements, and the reported revenues and expenses during the reporting periods. Actual results could differ from those estimates.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment Reporting</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Reporting</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating segments are identified as components of an enterprise about which separate discrete financial information is evaluated by the chief operating decision maker, which we refer to as the CODM, or decision-making group in assessing performance and making decisions regarding resource allocation. The Company has prepared operating segment information based on the manner in which management disaggregates the Company's operations for making internal operating decisions. For more information, see Note 18 - Segment Reporting.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Accounting Standards Adopted in 2021 and New Accounting Standards Yet to be Adopted</a></td>
<td class="text"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">New Accounting Standards Adopted in 2021</span></div><div style="margin-top:9pt;padding-left:19pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no new accounting standards required to be adopted in 2021 that would have a material impact on our consolidated financial statements. </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">New Accounting Standards Yet to be Adopted</span></div><div style="padding-left:19pt"><span><br/></span></div><div style="padding-left:19pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not believe that any recently issued but not yet effective accounting standards, if adopted, would have a material impact on our consolidated financial statements.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net Income Per Share</a></td>
<td class="text"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company presents basic and diluted earnings per share ("EPS") data for its common stock. Basic EPS is calculated by dividing the net income attributable to stockholders of the Company by the weighted average number of shares of common stock outstanding during the period. Diluted EPS is determined by adjusting the net income attributable to stockholders of the Company and the weighted average number of shares of common stock outstanding during the period for the effects of all dilutive potential common shares, including awards under stock-based compensation arrangements.</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's unvested restricted stock awards (see Note 9) are considered participating securities under ASC 260, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Earnings Per Share</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, because they entitle holders to non-forfeitable rights to dividends until the awards vest or are forfeited. When a company has a security that qualifies as a "participating security," the Codification requires the use of the two-class method when computing basic EPS. The two-class method is an earnings allocation formula that determines EPS for each class of common stock and participating security according to dividends declared (or accumulated) and participation rights in undistributed earnings. In determining the amount of net income to allocate to common stockholders, income is allocated to both common stock and participating securities based on their respective weighted average shares outstanding for the period, with net income attributable to common stockholders ultimately equaling net income less net income attributable to participating securities. Diluted EPS for the Company's common stock is computed using the more dilutive of the two-class method or the treasury stock method.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Value</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 820, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurements and Disclosures,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> establishes a framework for measuring fair value and expands financial statement disclosures about fair value measurements. Fair value is the price that would be received to sell an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants at the measurement date. The Codification topic does not require any new fair value measurements, but rather applies to all other accounting pronouncements that require or permit fair value measurements. The Codification topic requires that assets and liabilities carried at fair value be classified and disclosed in one of the following three categories:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1: Quoted market prices in active markets for identical assets or liabilities.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2: Observable market-based inputs or unobservable inputs that are corroborated by market data.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3: Unobservable inputs that are not corroborated by market data.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_FinancingReceivablesPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Financing Receivables Policy [Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_FinancingReceivablesPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Internal Use Software, Policy And Software to be Sold, Leased, or Otherwise Marketed, Policy</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6909625&amp;loc=d3e227-128457<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4273-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationRelatedCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(f(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting.  The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 35<br> -Paragraph 7A<br> -URI http://asc.fasb.org/extlink&amp;oid=125515542&amp;loc=SL120269220-210453<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3D<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL120267969-210447<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922895-210455<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 35<br> -Paragraph 13A<br> -URI http://asc.fasb.org/extlink&amp;oid=125515542&amp;loc=SL120267917-210453<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 35<br> -Paragraph 8A<br> -URI http://asc.fasb.org/extlink&amp;oid=124266218&amp;loc=SL120267834-210445<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 30<br> -Paragraph 4A<br> -URI http://asc.fasb.org/extlink&amp;oid=124256539&amp;loc=SL120269210-210444<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919260-210447<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL120267845-210446<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919253-210447<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919272-210447<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 30<br> -Paragraph 5A<br> -URI http://asc.fasb.org/extlink&amp;oid=124256539&amp;loc=SL120254536-210444<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3C<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL120267966-210447<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 30<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=124268681&amp;loc=SL120267897-210452<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919244-210447<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3D<br> -URI http://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL120267862-210455<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.M.Q4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122651532&amp;loc=SL122037091-237805<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3C<br> -URI http://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL120267859-210455<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL120267853-210455<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossFinancialInstrumentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32847-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32840-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL116659661-227067<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32280-109318<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsFiniteLivedPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 920<br> -SubTopic 350<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120155617&amp;loc=SL120155638-234783<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 920<br> -SubTopic 350<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120155617&amp;loc=SL120155628-234783<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 920<br> -SubTopic 350<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120155617&amp;loc=SL120155628-234783<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsFiniteLivedPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 330<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6471895&amp;loc=d3e55923-109411<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124437754&amp;loc=d3e543-108305<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PriorPeriodReclassificationAdjustmentDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429488&amp;loc=d3e326-107755<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PriorPeriodReclassificationAdjustmentDescription</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99779-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99893-112916<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130561-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130563-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130563-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130564-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701862520952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">Schedule of New Accounting Pronouncements and Changes in Accounting Principle</a></td>
<td class="text">The following table provides the amount reclassified for the year ended December 31, 2020:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:59.047%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.695%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As previously reported</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Re-classifications</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As reclassified</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,185&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,350)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,835&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,129&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,350&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,479&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the amount reclassified for the year ended December 31, 2019:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:59.047%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.695%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As previously reported</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Re-classifications</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As reclassified</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,774&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,279)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,495&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,921&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,279&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,200&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of Contract with Customer, Asset and Liability</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table details deferred revenue for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.304%"><tr><td style="width:1.0%"/><td style="width:67.608%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.303%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.283%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.306%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For years ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,130&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,628&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue recorded</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,393&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,507&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue acquired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,300&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less deferred revenue recognized as revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(21,294)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,005)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,529&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,130&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostTableTextBlock', window );">Schedule of Changes in Capitalized Contract Cost</a></td>
<td class="text"><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Costs to obtain and fulfill contracts related to SaaS arrangements are included within the "Prepaid expenses and other" and "Other assets, net of current portion" line items on our consolidated balance sheets.  </span></div><div style="margin-top:9pt;padding-left:63pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table details costs to obtain and fulfill contracts with customers for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"><tr><td style="width:1.0%"/><td style="width:70.187%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.256%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.955%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.102%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For years ended December 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,992&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,439&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs to obtain and fulfill contracts capitalized</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,256&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,974&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less costs to obtain and fulfill contracts recognized as expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,936)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,421)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,312&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,992&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of cost capitalized in obtaining or fulfilling contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123353750&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=124437754&amp;loc=d3e765-108305<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=124437754&amp;loc=d3e725-108305<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701763683352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combination (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination and Asset Acquisition [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed</a></td>
<td class="text"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The allocation of the purchase price paid for TruCode was as follows:</span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"/><td style="width:85.474%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.326%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase Price Allocation</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,249&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">924&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,300&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,497&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable and accrued liabilities</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,289)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,500)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,300)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,883&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The allocation of the purchase price paid for Get Real Health was as follows:</span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"/><td style="width:85.474%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.326%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase Price Allocation</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired cash</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">159&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">364&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">365&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,285&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,890&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,767&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable and accrued liabilities</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(594)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred taxes, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,736)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liability</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,285)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,000)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(430)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,892&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock', window );">Pro Forma Results on Income</a></td>
<td class="text"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following unaudited pro forma revenue, net income and earnings per share amounts for the years ended December 31, 2021 and 2020 give effect to the TruCode acquisition as if it had been completed on January 1, 2020. The pro forma financial information is presented for illustrative purposes only and is not necessarily indicative of what the operating results actually would have been during the periods presented had the TruCode acquisition been completed during the periods presented. In addition, the unaudited pro forma financial information does not purport to project future operating results. The pro forma information does not fully reflect: (1) any anticipated synergies (or costs to achieve synergies) or (2) the impact of non-recurring items directly related to the TruCode acquisition. </span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:72.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.778%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.557%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.629%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands, except per share data, unaudited)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pro forma revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">286,651&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">275,641&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pro forma net income </span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,635&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,651&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pro forma diluted earnings per share</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.41&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.01&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762903720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property and Equipment</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment were comprised of the following at December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.783%"><tr><td style="width:1.0%"/><td style="width:71.860%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.890%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.555%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.195%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Land</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,848&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,848&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Buildings and improvements</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,269&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,242&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,868&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,144&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">783&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,283&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office furniture and fixtures</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">682&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">829&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Automobiles</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,468&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,364&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,878)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,225)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,590&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,139&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701769457368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Software Development (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock', window );">Schedule of software development, net</a></td>
<td class="text"><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software development, net was comprised of the following at December&#160;31, 2021 and 2020:</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.228%"><tr><td style="width:1.0%"/><td style="width:68.932%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.842%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.883%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.843%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Software development costs</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,693&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,328&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated amortization</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,049)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(118)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Software development costs, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,644&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,210&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Software Development, Net</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762768504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Accrued Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of Other Accrued Liabilities</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities were comprised of the following at December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:72.081%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.930%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.557%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.932%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Salaries and benefits</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,482&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,876&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Severance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">236&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commissions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,158&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,040&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Self-insurance reserves</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,409&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,776&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,786&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">551&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities, current portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,592&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,518&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other accrued liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,163&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,786&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762895368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Earnings Per Share, Basic and Diluted</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a calculation of the basic and diluted EPS for the Company's common stock, including a reconciliation between net income and net income attributable to common stockholders for the years ended December 31, 2021, 2020, and 2019:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"/><td style="width:59.313%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.603%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.538%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.603%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.538%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.605%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands, except for per share data)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">Basic EPS</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,430&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,246&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,468&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Net income attributable to participating securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(409)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(429)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(764)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to common stockholders</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,021&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,817&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,704&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding used in basic per common share computations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,290&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,038&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,778&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic EPS</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.98&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.43&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">Diluted EPS</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income attributable to common stockholders for diluted EPS</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,021&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,817&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,704&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding used in basic per common share computations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,290&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,038&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,778&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average effect of dilutive securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding used in diluted per common share computations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,318&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,038&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,778&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted EPS</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.98&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.43&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701767323160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Deferred Tax Assets and Liabilities</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax assets and liabilities were comprised of the following at December&#160;31, 2021 and 2020:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable and financing receivables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">625&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">773&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued vacation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">678&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">691&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,905&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,568&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">283&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued severance </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued liabilities </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right of use asset</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,740&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,472&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,274&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,560&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,301&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,027&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,894&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">622&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">636&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,405&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,258&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities:</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,002&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,603&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued liabilities and other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,668&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">956&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fixed assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">875&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1077&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right of use liability</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,740&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred tax liabilities</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,285&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,636&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total net deferred tax liability</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,880)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10,378)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Components of Income Tax Provision</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant components of the income tax provision for the years ended December&#160;31, 2021, 2020 and 2019 were as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"/><td style="width:57.541%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.175%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current provision:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">731&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">244&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">860&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">413&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,539&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,357&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred provision:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,331&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,766&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">951&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income tax provision</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,646&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,538&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,228&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Reconciliation to Federal Statutory Income Tax Rate</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The difference between income taxes at the U.S. federal statutory income tax rate of 21% for the years ended December 31, 2021, 2020 and 2019, and those reported in the consolidated statements of operations for the years ended December&#160;31, 2021, 2020 and 2019 are as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"/><td style="width:57.541%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.175%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income taxes at U.S. federal statutory rate</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,846&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,945&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,976&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision-to-return adjustments</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">455&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(66)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State income tax, net of federal tax effect</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">509&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">908&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">978&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax credits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,274)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(958)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,196)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,050)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(74)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">255&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">151&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Change in valuation allowance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(165)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">173&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-deductible compensation - 162(m)</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">510&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">262&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income tax provision</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,646&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,538&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,228&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701761061128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation and Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Summary of Stock-Based Compensation Expense</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table details total stock-based compensation expense for the years ended December&#160;31, 2021, 2020 and 2019, included in the consolidated statements of operations:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"><tr><td style="width:1.0%"/><td style="width:57.541%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.171%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.571%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.175%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">990&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,474&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,040&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating expenses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,467&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,531&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,782&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-tax stock-based compensation expense</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,457&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,005&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,822&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: income tax effect</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,146)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,471)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,063)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net (after tax) stock-based compensation expense</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,311&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,534&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,759&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted stock</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Summary of Activity Under Restricted Stock Plans</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of restricted stock activity (including shares of restricted stock issued pursuant to the settlement of performance share awards) under the Plans during the years ended December&#160;31, 2021, 2020 and 2019 is as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-Average</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Grant-Date</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair Value</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at January&#160;1, 2019</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">475,132&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32.00&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">133,936&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.89&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">138,566&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.80&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(221,775)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33.48&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at December&#160;31, 2019</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">525,859&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.51&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,771&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26.16&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,678&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.15&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(268,067)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.80&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,274)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26.16&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at December&#160;31, 2020</span></div></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">412,967&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28.87&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153,700&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.22&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(245,455)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.16&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,329)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.10&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unvested stock outstanding at December&#160;31, 2021</span></div></td><td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">314,883&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.79&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance shares</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Summary of Activity Under Restricted Stock Plans</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of performance share award activity under the Plans for the years ended December&#160;31, 2021, 2020 and 2019, is as follows, based on the target award amounts set forth in the performance share award agreements:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-Average</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Grant-Date</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair Value</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at January 1, 2019</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">184,776&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.15&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,310&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.95&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or unearned</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,189&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(138,566)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.80&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at December&#160;31, 2019</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,709&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.75&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107,298&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26.96&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or unearned</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35,477)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.15&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards converted to restricted stock</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,678)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.15&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at December&#160;31, 2020</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252,852&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.27&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">93,444&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.26&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited or unearned</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,373)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.92&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested and issued</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(75,971)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.50&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance share awards outstanding at December&#160;31, 2021</span></div></td><td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">249,952&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29.59&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701764027128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financing Receivables (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Components of Short-Term Payment Plans</a></td>
<td class="text">These receivables, included in the current portion of financing receivables, were comprised of the following on December&#160;31, 2021 and 2020:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term payment plans, gross</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">121&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,973&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(99)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term payment plans, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,874&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock', window );">Components of Lease Receivables</a></td>
<td class="text">The components of these receivables were as follows on December&#160;31, 2021 and 2020:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term financing arrangements, gross</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,659&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,082&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(716)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,390)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: unearned income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,339)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,268)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term financing arrangements, net</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,604&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,424&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock', window );">Sales-type and Direct Financing Leases, Lease Receivable, Maturity</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum payments to be received subsequent to December&#160;31, 2021 are as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.029%"><tr><td style="width:1.0%"/><td style="width:85.669%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.131%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,060&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,393&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,726&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,309&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total minimum payments to be received</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,659&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(716)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: unearned income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,339)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Receivables, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,604&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock', window );">Roll-Forward of Allowance for Financing Credit Losses</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table is a roll-forward of the allowance for financing credit losses for the years ended December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"><tr><td style="width:1.0%"/><td style="width:29.240%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.212%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.573%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.212%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.573%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.212%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.573%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.212%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.573%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.220%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Charge-offs</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recoveries</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,489&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">481&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,248)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">722&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,971&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,632&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,114)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,489&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PastDueFinancingReceivablesTableTextBlock', window );">Analysis of Age of Financing Receivables Amounts</a></td>
<td class="text">The following is an analysis of the age of financing receivables amounts (excluding short-term payment plans) that have been reclassified to trade accounts receivable and were past due as of December&#160;31, 2021 and 2020:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:43.004%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.069%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.412%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.141%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.565%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.069%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.565%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.075%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 to 90 Days</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91&#160;to&#160;180&#160;Days</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">181 + Days</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Past Due</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">713&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">864&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,270&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">227&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">672&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,169&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock', window );">Categories of Customer Financing Receivables</a></td>
<td class="text">The table below categorizes customer financing receivable balances (excluding short term payment plans), none of which are considered past due, based on the age of the oldest payment outstanding that has been reclassified to trade accounts receivable:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"><tr><td style="width:1.0%"/><td style="width:71.627%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.151%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.570%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.152%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stratification of uninvoiced client financing receivables based on aging of related trade accounts receivable:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Uninvoiced client financing receivables related to trade accounts receivable that are 1 to 90 Days Past Due</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,100&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,719&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Uninvoiced client financing receivables related to trade accounts receivable that are 91 to 180 Days Past Due</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">329&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,092&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Uninvoiced client financing receivables related to trade accounts receivable that are 181+Days Past Due</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">386&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,668&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total uninvoiced client financing receivables balances of clients with a trade accounts receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,815&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,479&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total uninvoiced client financing receivables of clients with no related trade accounts receivable </span></td><td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,505&#160;</span></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,335&#160;</span></td><td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financing receivables with contractual maturities of one year or less</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">121&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,973&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: allowance for credit losses</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(722)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,489)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total financing receivables</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,719&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,298&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of components of lease receivables.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on financing receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of financing receivables by credit quality indicator. The credit quality indicator is a statistic about the credit quality of financing receivables. Examples include, but not limited to, consumer credit risk scores, credit-rating-agency ratings, an entity's internal credit risk grades, loan-to-value ratios, collateral, collection experience and other internal metrics.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919230-210447<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953659-111524<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PastDueFinancingReceivablesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of aging analysis for financing receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919253-210447<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7A<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953401-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 55<br> -Paragraph 80<br> -URI http://asc.fasb.org/extlink&amp;oid=124267575&amp;loc=SL82922355-210448<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5111-111524<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PastDueFinancingReceivablesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturity of undiscounted cash flows to be received on annual basis for sales-type and direct financing leases receivable. Includes, but is not limited to, reconciliation to lease receivable recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=124258985&amp;loc=SL77919391-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3,4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701767491304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets and Goodwill (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock', window );">Summary of Definite-Lived Intangible Assets</a></td>
<td class="text"><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our purchased definite-lived intangible assets as of December&#160;31, 2021 and 2020 are summarized as follows:</span></div><div style="margin-top:9pt;padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"><tr><td style="width:1.0%"/><td style="width:43.945%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.963%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.700%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.963%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.700%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.963%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.700%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.966%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December&#160;31, 2021</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer Relationships</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademark</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed Technology</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross carrying amount, beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,370&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,120&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,700&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125,190&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets acquired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,200&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,200&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,900&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,300&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated amortization </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(41,738)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,177)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,372)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(67,287)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net intangible assets as of December&#160;31, 2021</span></div></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,832&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,143&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,228&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95,203&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average remaining years of useful life</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer Relationships</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademark</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed Technology</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross carrying amount, beginning of period </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,370&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,120&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,700&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125,190&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated amortization</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,612)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,297)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15,592)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(53,501)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net intangible assets as of December 31, 2020</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,758&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,823&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,108&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,689&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Remaining Amortization of Definite-Lived Intangible Assets</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the remaining amortization of definite-lived intangible assets as of December&#160;31, 2021:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.345%"><tr><td style="width:1.0%"/><td style="width:85.698%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.102%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">For the year ended December 31,</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,688&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,800&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,266&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,950&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,328&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Due thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,171&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95,203&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of Changes in the Carrying Amount of Goodwill</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the change in the carrying amount of goodwill by segment for the years ended December&#160;31, 2021, 2020, and 2019:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"><tr><td style="width:1.0%"/><td style="width:47.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.665%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.665%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.817%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.821%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2018</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,095&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,570&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,784&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,449&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill acquired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,767&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,767&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2019</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,095&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,570&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,551&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150,216&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2020</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,095&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,570&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,551&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150,216&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill acquired</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,497&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,497&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2021</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,095&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,570&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,048&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">177,713&#160;</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701763687528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-Term Debt (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">Schedule of Long-Term Debt</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term debt was comprised of the following at December&#160;31, 2021 and 2020:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"><tr><td style="width:1.0%"/><td style="width:56.890%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.143%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.322%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.145%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Term loan facility</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,375&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,125&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revolving credit facility</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,000&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Debt obligations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,375&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,125&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: debt issuance costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,015)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,308)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Debt obligation, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99,360&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,817&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: current portion</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,394)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,457)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94,966&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,360&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock', window );">Schedule of Anticipated Annual Future Maturities</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Anticipated annual future maturities of the term loan facility and revolving credit facility are as follows as of December&#160;31, 2021:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:84.354%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.446%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,687&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,625&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,563&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83,500&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,375&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21506-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69E<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495743-112612<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21521-112644<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21538-112644<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123599511&amp;loc=d3e64711-112823<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturity and sinking fund requirement for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701763644776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock', window );">Supplemental Balance Sheet Information</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental balance sheet information related to operating leases is as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:86.172%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.628%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">December 31, 2021</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease assets</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,097&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_11044054-b20b-4e64-84db-2255f5137354"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_a06dcfd3-4852-44f1-b934-aaacbec8f4c5">Other accrued liabilities</span></span></span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,592&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities, net of current portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,505&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating lease liabilities</span></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,097&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average remaining lease term in years</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average discount rate</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.6%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Future Minimum Lease Payments Payable Under Operating Leases</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The future minimum lease payments payable under these operating leases subsequent to December&#160;31, 2021 are as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:85.718%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.082%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,592&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,520&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,411&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,202&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,225&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,115&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,065&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(968)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,097&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lease, Supplemental Balance Sheet Information</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762760696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock', window );">Carrying Amounts and Fair Values of Certain Assets</a></td>
<td class="text"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the carrying amount and fair value of the contingent consideration at December 31, 2021:</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="padding-left:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"><tr><td style="width:1.0%"/><td style="width:23.817%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.236%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.625%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.886%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.625%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.886%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.625%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.200%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value at December 31, 2021 Using</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Carrying Amount at 12/31/21</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Quoted Price in Active Markets for Identical Assets (Level 1)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Significant Other Observable Inputs (Level 2)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Significant Unobservable Inputs (Level 3)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Description</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contingent Consideration</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762752024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Reporting (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of Segment Reporting Information, by Segment</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a summary of the revenues, cost of sales, and gross profit of our three operating segments for the years ended December 31, 2021, 2020, and 2019:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"><tr><td style="width:1.0%"/><td style="width:59.506%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.012%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.012%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Year Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenues:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recurring revenue</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">108,440&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105,597&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">109,046&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-recurring revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,939&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,173&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,028&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Acute Care EHR revenue</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125,379&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">134,770&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144,074&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recurring revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,472&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,272&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,466&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-recurring revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,258&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,912&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,812&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Post-acute Care EHR revenue</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,730&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,184&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,278&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137,520&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,534&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">109,282&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">280,629&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">264,488&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274,634&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,776&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,540&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,569&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,888&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,821&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,303&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,083&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,881&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56,617&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total cost of sales</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">139,747&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,242&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,489&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acute Care EHR</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,603&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,230&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,505&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Post-acute Care EHR</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,842&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,363&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,975&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">TruBridge</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,437&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,653&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,665&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,882&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,246&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144,145&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate operating expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(116,175)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(115,192)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(119,562)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income </span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,529&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,494&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">807&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gain on contingent consideration</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss on extinguishment of debt</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(202)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,160)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,562)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,694)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before taxes</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,076&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,784&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,696&#160;</span></td><td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756455000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 01, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of acquisition-related intangibles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,786,000<span></span>
</td>
<td class="nump">$ 11,421,000<span></span>
</td>
<td class="nump">$ 11,006,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (18,430,000)<span></span>
</td>
<td class="num">$ (14,246,000)<span></span>
</td>
<td class="num">$ (20,468,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income (loss) per share - basic (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1.26)<span></span>
</td>
<td class="num">$ (0.98)<span></span>
</td>
<td class="num">$ (1.43)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income (loss) per share - diluted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1.26)<span></span>
</td>
<td class="num">$ (0.98)<span></span>
</td>
<td class="num">$ (1.43)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Goodwill impairment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Product development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,389,000<span></span>
</td>
<td class="nump">33,457,000<span></span>
</td>
<td class="nump">36,861,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology | Useful lives of intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of acquisition-related intangibles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income (loss) per share - basic (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income (loss) per share - diluted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.06<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareDevelopmentMember', window );">Software Development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-lived intangible asset, useful life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Post-acute Care EHR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Goodwill impairment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill', window );">Impairment to purchased intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_RevenuePerformanceObligationDescriptionOfTiming1', window );">Revenue performance obligation, description of timing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | Developed Technology | As previously reported | Useful lives of intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1', window );">Remaining useful life</a></td>
<td class="text">3 years 3 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | Developed Technology | Revision of Prior Period, Change in Accounting Principle, Adjustment | Useful lives of intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1', window );">Remaining useful life</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_RevenuePerformanceObligationDescriptionOfTiming1', window );">Revenue performance obligation, description of timing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | Developed Technology | As previously reported | Useful lives of intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1', window );">Remaining useful life</a></td>
<td class="text">4 years 3 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | Developed Technology | Revision of Prior Period, Change in Accounting Principle, Adjustment | Useful lives of intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1', window );">Remaining useful life</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_RevenuePerformanceObligationDescriptionOfTiming1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Revenue Performance Obligation, Description of Timing1</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_RevenuePerformanceObligationDescriptionOfTiming1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13777-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss resulting from write-down of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16373-109275<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ChangeInAccountingEstimateByTypeAxis=us-gaap_IntangibleAssetsAmortizationPeriodMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ChangeInAccountingEstimateByTypeAxis=us-gaap_IntangibleAssetsAmortizationPeriodMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cpsi_PostAcuteCareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cpsi_PostAcuteCareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701763083944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Amounts reclassified (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReclassificationLineItems', window );"><strong>Reclassification [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">$ 21,978<span></span>
</td>
<td class="nump">$ 22,835<span></span>
</td>
<td class="nump">$ 26,495<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">$ 50,022<span></span>
</td>
<td class="nump">47,479<span></span>
</td>
<td class="nump">45,200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember', window );">As previously reported</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReclassificationLineItems', window );"><strong>Reclassification [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24,185<span></span>
</td>
<td class="nump">27,774<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,129<span></span>
</td>
<td class="nump">43,921<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RestatementAxis=srt_RevisionOfPriorPeriodReclassificationAdjustmentMember', window );">Re-classifications</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReclassificationLineItems', window );"><strong>Reclassification [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,350)<span></span>
</td>
<td class="num">(1,279)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,350<span></span>
</td>
<td class="nump">$ 1,279<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReclassificationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReclassificationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_ScenarioPreviouslyReportedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RestatementAxis=srt_RevisionOfPriorPeriodReclassificationAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RestatementAxis=srt_RevisionOfPriorPeriodReclassificationAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701761111912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Property and Equipment (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer equipment</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Useful life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Office furniture and fixtures</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Useful life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Buildings</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Useful life</a></td>
<td class="text">30 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701761183192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Changes in Deferred Revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_ChangeInContractWithCustomerLiabilityRollForward', window );"><strong>Change In Contract With Customer, Liability [Heading Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Beginning balance</a></td>
<td class="nump">$ 8,130<span></span>
</td>
<td class="nump">$ 8,628<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease', window );">Deferred revenue recorded</a></td>
<td class="nump">23,393<span></span>
</td>
<td class="nump">18,507<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination', window );">Deferred revenue acquired</a></td>
<td class="nump">1,300<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized', window );">Less deferred revenue recognized as revenue</a></td>
<td class="num">(21,294)<span></span>
</td>
<td class="num">(19,005)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Ending balance</a></td>
<td class="nump">$ 11,529<span></span>
</td>
<td class="nump">$ 8,130<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_ChangeInContractWithCustomerLiabilityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_ChangeInContractWithCustomerLiabilityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contract With Customer Liability, Including New Contract Revenue, Recognized</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762589000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Changes in Capitalized Contract Cost (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_ChangeInCapitalizedContractCostRollForward', window );"><strong>Change In Capitalized Contract Cost [Heading Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNet', window );">Beginning balance</a></td>
<td class="nump">$ 5,992<span></span>
</td>
<td class="nump">$ 4,439<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_CostsToObtainAndFulfillContractsCapitalized', window );">Costs to obtain and fulfill contracts capitalized</a></td>
<td class="nump">7,256<span></span>
</td>
<td class="nump">6,974<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortization', window );">Less costs to obtain and fulfill contracts recognized as expense</a></td>
<td class="num">(5,936)<span></span>
</td>
<td class="num">(5,421)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNet', window );">Ending balance</a></td>
<td class="nump">$ 7,312<span></span>
</td>
<td class="nump">$ 5,992<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_ChangeInCapitalizedContractCostRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_ChangeInCapitalizedContractCostRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_CostsToObtainAndFulfillContractsCapitalized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_CostsToObtainAndFulfillContractsCapitalized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123353750&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123353750&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701763123432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combination - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>May 12, 2021</div></th>
<th class="th"><div>May 03, 2019</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1', window );">Gain on contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 5,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cpsi_TruCodeLLCMember', window );">TruCode LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</a></td>
<td class="nump">$ 59,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh', window );">Contingent consideration earnout payment</a></td>
<td class="nump">$ 15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Acquisition related costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual', window );">Pro forma information, revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual', window );">Pro forma information, pre-tax loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cpsi_iNetXpertsCorpMember', window );">iNetXperts, Corp.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh', window );">Contingent consideration earnout payment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1', window );">Gain on contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Acquisition related costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 600<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -URI http://asc.fasb.org/extlink&amp;oid=123586518&amp;loc=d3e1043-128460<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of right to a contingent consideration asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents the amount of any change recognized during the period in the high-end of the estimated range of outcomes (undiscounted) of a liability assumed in a business combination arising from an item of contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents the amount of earnings or loss of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cpsi_TruCodeLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cpsi_TruCodeLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cpsi_iNetXpertsCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cpsi_iNetXpertsCorpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756041688">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Business Combination - Preliminary allocation of the purchase price paid (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>May 12, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>May 03, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 177,713<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 150,216<span></span>
</td>
<td class="nump">$ 150,216<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 140,449<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cpsi_TruCodeLLCMember', window );">TruCode LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Acquired cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,249<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">924<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,497<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable and accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,289)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,500)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,300)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 63,883<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cpsi_iNetXpertsCorpMember', window );">iNetXperts, Corp.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Acquired cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 159<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">364<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">107<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">365<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset', window );">Operating lease asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,285<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,890<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,767<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable and accrued liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(594)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred taxes, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,736)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation', window );">Operating lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,285)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability', window );">Contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(430)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Net assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,892<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Recognized Identifiable Asset Acquired and Liability Assumed, Operating Lease, Asset</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed, Contract With Customer, Liability</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease obligation assumed in business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of liability arising from an inherited contingency (as defined) which has been recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of intangible assets, excluding goodwill, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cpsi_TruCodeLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cpsi_TruCodeLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cpsi_iNetXpertsCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cpsi_iNetXpertsCorpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701760748424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combination - Pro forma information (Details) - TruCode LLC - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaRevenue', window );">Pro forma revenues</a></td>
<td class="nump">$ 286,651<span></span>
</td>
<td class="nump">$ 275,641<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Pro forma net income</a></td>
<td class="nump">$ 20,635<span></span>
</td>
<td class="nump">$ 14,651<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted', window );">Pro forma diluted earnings per share (in dollars per share)</a></td>
<td class="nump">$ 1.41<span></span>
</td>
<td class="nump">$ 1.01<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per diluted share amount of pro forma income from continuing operations, after tax, as if the business combination had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cpsi_TruCodeLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cpsi_TruCodeLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701760636936">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 20,468<span></span>
</td>
<td class="nump">$ 20,364<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: accumulated depreciation</a></td>
<td class="num">(8,878)<span></span>
</td>
<td class="num">(7,225)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">11,590<span></span>
</td>
<td class="nump">13,139<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember', window );">Land</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">2,848<span></span>
</td>
<td class="nump">2,848<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Buildings and improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">8,269<span></span>
</td>
<td class="nump">8,242<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember', window );">Computer equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">7,868<span></span>
</td>
<td class="nump">7,144<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">783<span></span>
</td>
<td class="nump">1,283<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Office furniture and fixtures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">682<span></span>
</td>
<td class="nump">829<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AutomobilesMember', window );">Automobiles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 18<span></span>
</td>
<td class="nump">$ 18<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.14)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AutomobilesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AutomobilesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701768539192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Software Development - Narrative (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareAdditions', window );">Capitalized software development costs</a></td>
<td class="nump">$ 8.8<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts', window );">Increase in capitalized software development costs</a></td>
<td class="nump">4.6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_IncreaseDecreaseToProductDevelopmentCosts', window );">Decrease in product development costs</a></td>
<td class="nump">$ 4.6<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareDevelopmentMember', window );">Software Development</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-lived intangible asset, useful life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Capitalized Software Costs</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_IncreaseDecreaseToProductDevelopmentCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) To Product Development Costs</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_IncreaseDecreaseToProductDevelopmentCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareAdditions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additions made to capitalized computer software costs during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareAdditions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_SoftwareDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701768430776">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Software Development - Schedule of Software development costs, net (Details) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentAbstract', window );"><strong>Research and Development [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareGross', window );">Software development costs</a></td>
<td class="nump">$ 12,693<span></span>
</td>
<td class="nump">$ 3,328<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization', window );">Less: accumulated amortization</a></td>
<td class="num">(1,049)<span></span>
</td>
<td class="num">(118)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedComputerSoftwareNet', window );">Software development costs, net</a></td>
<td class="nump">$ 11,644<span></span>
</td>
<td class="nump">$ 3,210<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For each balance sheet presented, the amount of accumulated amortization for capitalized computer software costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedComputerSoftwareNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedComputerSoftwareNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756319368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Other Accrued Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalariesCurrent', window );">Salaries and benefits</a></td>
<td class="nump">$ 8,482<span></span>
</td>
<td class="nump">$ 7,876<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_AccruedSeveranceCurrent', window );">Severance</a></td>
<td class="nump">236<span></span>
</td>
<td class="nump">25<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalesCommissionCurrent', window );">Commissions</a></td>
<td class="nump">1,158<span></span>
</td>
<td class="nump">1,040<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedInsuranceCurrent', window );">Self-insurance reserves</a></td>
<td class="nump">1,409<span></span>
</td>
<td class="nump">1,776<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent', window );">Contingent consideration</a></td>
<td class="nump">2,500<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">1,786<span></span>
</td>
<td class="nump">551<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities, current portion</a></td>
<td class="nump">1,592<span></span>
</td>
<td class="nump">1,518<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other accrued liabilities</a></td>
<td class="nump">$ 17,163<span></span>
</td>
<td class="nump">$ 12,786<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_AccruedSeveranceCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accrued Severance, Current</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_AccruedSeveranceCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedInsuranceCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedInsuranceCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalariesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalariesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalesCommissionCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalesCommissionCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -URI http://asc.fasb.org/extlink&amp;oid=116859824&amp;loc=d3e6819-128478<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e7018-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756462792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income Per Share (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_EarningsPerShareBasicNumeratorAbstract', window );"><strong>Numerator</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">$ 18,430<span></span>
</td>
<td class="nump">$ 14,246<span></span>
</td>
<td class="nump">$ 20,468<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic', window );">Less: Net income attributable to participating securities</a></td>
<td class="num">(409)<span></span>
</td>
<td class="num">(429)<span></span>
</td>
<td class="num">(764)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net income attributable to common stockholders</a></td>
<td class="nump">$ 18,021<span></span>
</td>
<td class="nump">$ 13,817<span></span>
</td>
<td class="nump">$ 19,704<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_EarningsPerShareBasicDenominatorAbstract', window );"><strong>Denominator</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares outstanding used in basic per common share computations (in shares)</a></td>
<td class="nump">14,290<span></span>
</td>
<td class="nump">14,038<span></span>
</td>
<td class="nump">13,778<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic EPS (in dollars per share)</a></td>
<td class="nump">$ 1.26<span></span>
</td>
<td class="nump">$ 0.98<span></span>
</td>
<td class="nump">$ 1.43<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_EarningsPerShareDilutedNumeratorAbstract', window );"><strong>Numerator</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted', window );">Net income attributable to common stockholders for diluted EPS</a></td>
<td class="nump">$ 18,021<span></span>
</td>
<td class="nump">$ 13,817<span></span>
</td>
<td class="nump">$ 19,704<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_EarningsPerShareDilutedDenominatorAbstract', window );"><strong>Denominator</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares outstanding used in basic per common share computations (in shares)</a></td>
<td class="nump">14,290<span></span>
</td>
<td class="nump">14,038<span></span>
</td>
<td class="nump">13,778<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract', window );"><strong>Weighted average effect of dilutive securities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Performance share awards (in shares)</a></td>
<td class="nump">28<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average shares outstanding used in diluted per common share computations (in shares)</a></td>
<td class="nump">14,318<span></span>
</td>
<td class="nump">14,038<span></span>
</td>
<td class="nump">13,778<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted EPS (in dollars per share)</a></td>
<td class="nump">$ 1.26<span></span>
</td>
<td class="nump">$ 0.98<span></span>
</td>
<td class="nump">$ 1.43<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_EarningsPerShareBasicDenominatorAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Earnings Per Share, Basic, Denominator [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_EarningsPerShareBasicDenominatorAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_EarningsPerShareBasicNumeratorAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Earnings Per Share, Basic, Numerator [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_EarningsPerShareBasicNumeratorAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_EarningsPerShareDilutedDenominatorAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Earnings Per Share, Diluted, Denominator [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_EarningsPerShareDilutedDenominatorAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_EarningsPerShareDilutedNumeratorAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Earnings Per Share, Diluted, Numerator [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_EarningsPerShareDilutedNumeratorAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1707-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1500-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1757-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1377-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1930-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1930-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1930-109256<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1930-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of earnings (loss) distributed and earnings (loss) allocated to participating securities for the basic earnings (loss) per share or per unit calculation under the two-class method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e2740-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701761143432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">U.S. federal statutory income tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective income tax rate</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">24.00%<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate', window );">Impact to effective rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate', window );">Decrease in effective tax rate because of the provision to return adjustments</a></td>
<td class="nump">2.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate', window );">Decrease in effective tax rate for tax shortfalls related to stock-based compensation arrangements</a></td>
<td class="nump">1.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="nump">$ 622<span></span>
</td>
<td class="nump">$ 636<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Domestic tax authority</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Federal net operating loss carryforward</a></td>
<td class="nump">7,900<span></span>
</td>
<td class="nump">12,200<span></span>
</td>
<td class="nump">$ 27,900<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State jurisdiction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Federal net operating loss carryforward</a></td>
<td class="nump">$ 29,900<span></span>
</td>
<td class="nump">$ 34,400<span></span>
</td>
<td class="nump">$ 34,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Measurement Period Adjustment, Increase (Decrease) in Effective Tax Rate</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Provision To Return Adjustments, Increase (Decrease) in Effective Tax Rate</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Share-based Compensation Arrangement, Increase (Decrease) in Effective Tax Rate</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756487864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Deferred Tax Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComponentsOfDeferredTaxAssetsAbstract', window );"><strong>Deferred tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables', window );">Accounts receivable and financing receivables</a></td>
<td class="nump">$ 625<span></span>
</td>
<td class="nump">$ 773<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_DeferredTaxAssetsAccruedVacation', window );">Accrued vacation</a></td>
<td class="nump">678<span></span>
</td>
<td class="nump">691<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="nump">1,905<span></span>
</td>
<td class="nump">2,568<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsDeferredIncome', window );">Deferred revenue</a></td>
<td class="nump">988<span></span>
</td>
<td class="nump">283<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments', window );">Accrued severance</a></td>
<td class="nump">44<span></span>
</td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="nump">15<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards', window );">Credits</a></td>
<td class="nump">2,472<span></span>
</td>
<td class="nump">3,274<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss</a></td>
<td class="nump">3,560<span></span>
</td>
<td class="nump">4,301<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Deferred tax assets</a></td>
<td class="nump">12,027<span></span>
</td>
<td class="nump">11,894<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Less: Valuation allowance</a></td>
<td class="nump">622<span></span>
</td>
<td class="nump">636<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Total deferred tax assets</a></td>
<td class="nump">11,405<span></span>
</td>
<td class="nump">11,258<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract', window );"><strong>Deferred tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Intangible assets</a></td>
<td class="nump">18,002<span></span>
</td>
<td class="nump">19,603<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Accrued liabilities and other</a></td>
<td class="nump">4,668<span></span>
</td>
<td class="nump">956<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Fixed assets</a></td>
<td class="nump">875<span></span>
</td>
<td class="nump">1,077<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="nump">25,285<span></span>
</td>
<td class="nump">21,636<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Total net deferred tax liability</a></td>
<td class="num">$ (13,880)<span></span>
</td>
<td class="num">$ (10,378)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Assets Accounts Receivable and Financing Receivables</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_DeferredTaxAssetsAccruedVacation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets accrued vacation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_DeferredTaxAssetsAccruedVacation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComponentsOfDeferredTaxAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComponentsOfDeferredTaxAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15)(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsDeferredIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsDeferredIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from severance costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756414792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Significant Components of Income Tax Provision (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current provision:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 731<span></span>
</td>
<td class="nump">$ 244<span></span>
</td>
<td class="nump">$ 860<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">413<span></span>
</td>
<td class="nump">1,539<span></span>
</td>
<td class="nump">1,357<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred provision:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">3,331<span></span>
</td>
<td class="nump">2,766<span></span>
</td>
<td class="nump">951<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="nump">171<span></span>
</td>
<td class="num">(11)<span></span>
</td>
<td class="nump">60<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax provision</a></td>
<td class="nump">$ 4,646<span></span>
</td>
<td class="nump">$ 4,538<span></span>
</td>
<td class="nump">$ 3,228<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762497752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Reconciliation to Federal Statutory Income Tax Rate (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Income taxes at U.S. federal statutory rate</a></td>
<td class="nump">$ 4,846<span></span>
</td>
<td class="nump">$ 3,945<span></span>
</td>
<td class="nump">$ 4,976<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_ProvisionToReturnAdjustments', window );">Provision-to-return adjustments</a></td>
<td class="nump">117<span></span>
</td>
<td class="nump">455<span></span>
</td>
<td class="num">(66)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">State income tax, net of federal tax effect</a></td>
<td class="nump">509<span></span>
</td>
<td class="nump">908<span></span>
</td>
<td class="nump">978<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationTaxCredits', window );">Tax credits</a></td>
<td class="num">(1,274)<span></span>
</td>
<td class="num">(958)<span></span>
</td>
<td class="num">(2,196)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts', window );">Contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,050)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="num">(74)<span></span>
</td>
<td class="nump">255<span></span>
</td>
<td class="nump">151<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="num">(14)<span></span>
</td>
<td class="num">(165)<span></span>
</td>
<td class="nump">173<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation', window );">Non-deductible compensation - 162(m)</a></td>
<td class="nump">510<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherReconcilingItems', window );">Other</a></td>
<td class="nump">26<span></span>
</td>
<td class="nump">98<span></span>
</td>
<td class="nump">262<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax provision</a></td>
<td class="nump">$ 4,646<span></span>
</td>
<td class="nump">$ 4,538<span></span>
</td>
<td class="nump">$ 3,228<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Transaction Costs</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Reconciliation, Nondeductible Expense, Section 162(m) Limitation</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_ProvisionToReturnAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Provision-to-return adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_ProvisionToReturnAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationOtherReconcilingItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority noncontrolling interest income (loss), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, increase (decrease) in enacted tax rate, prior year income taxes, increase (decrease) in deferred tax asset valuation allowance, and other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationOtherReconcilingItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701768525944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation and Equity - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 04, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Shares available for future issuance (in shares)</a></td>
<td class="nump">334,629<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Unrecognized compensation cost related to non-vested share-based compensation</a></td>
<td class="nump">$ 7.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Unrecognized compensation cost related to non-vested share-based compensation period of recognition</a></td>
<td class="text">1 year 10 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Stock repurchase program, authorized amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30.0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Stock repurchased during period (in shares)</a></td>
<td class="nump">41,965<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Stock repurchase program, remaining authorized repurchase amount</a></td>
<td class="nump">$ 28.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted stock | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted stock | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance shares | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance shares | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount remaining of a stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701760759592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation and Equity - Total Stock-Based Compensation Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Pre-tax stock-based compensation expense</a></td>
<td class="nump">$ 5,457<span></span>
</td>
<td class="nump">$ 7,005<span></span>
</td>
<td class="nump">$ 9,822<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Less: income tax effect</a></td>
<td class="num">(1,146)<span></span>
</td>
<td class="num">(1,471)<span></span>
</td>
<td class="num">(2,063)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax', window );">Net (after tax) stock-based compensation expense</a></td>
<td class="nump">4,311<span></span>
</td>
<td class="nump">5,534<span></span>
</td>
<td class="nump">7,759<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Costs of sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Pre-tax stock-based compensation expense</a></td>
<td class="nump">990<span></span>
</td>
<td class="nump">1,474<span></span>
</td>
<td class="nump">2,040<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_OperatingExpenseMember', window );">Operating expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Pre-tax stock-based compensation expense</a></td>
<td class="nump">$ 4,467<span></span>
</td>
<td class="nump">$ 5,531<span></span>
</td>
<td class="nump">$ 7,782<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of expense for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax benefit for recognition of expense of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_OperatingExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_OperatingExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701755788568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation and Equity - Summary of Activity Under Restricted and Performance Stock Plans (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding at beginning of period (in shares)</a></td>
<td class="nump">412,967<span></span>
</td>
<td class="nump">525,859<span></span>
</td>
<td class="nump">475,132<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">153,700<span></span>
</td>
<td class="nump">136,771<span></span>
</td>
<td class="nump">133,936<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod', window );">Performance share awards converted to restricted stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,678<span></span>
</td>
<td class="nump">138,566<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested and issued (in shares)</a></td>
<td class="num">(245,455)<span></span>
</td>
<td class="num">(268,067)<span></span>
</td>
<td class="num">(221,775)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="num">(6,329)<span></span>
</td>
<td class="num">(1,274)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding at end of period (in shares)</a></td>
<td class="nump">314,883<span></span>
</td>
<td class="nump">412,967<span></span>
</td>
<td class="nump">525,859<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted-Average Grant-Date Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding at beginning of the period (in dollars per share)</a></td>
<td class="nump">$ 28.87<span></span>
</td>
<td class="nump">$ 30.51<span></span>
</td>
<td class="nump">$ 32.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="nump">31.22<span></span>
</td>
<td class="nump">26.16<span></span>
</td>
<td class="nump">30.89<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue', window );">Performance share awards converted to restricted stock (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.15<span></span>
</td>
<td class="nump">29.80<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested and issued (in dollars per share)</a></td>
<td class="nump">29.16<span></span>
</td>
<td class="nump">30.80<span></span>
</td>
<td class="nump">33.48<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in dollars per share)</a></td>
<td class="nump">29.10<span></span>
</td>
<td class="nump">26.16<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding at end of the period in dollars per share)</a></td>
<td class="nump">$ 29.79<span></span>
</td>
<td class="nump">$ 28.87<span></span>
</td>
<td class="nump">$ 30.51<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding at beginning of period (in shares)</a></td>
<td class="nump">252,852<span></span>
</td>
<td class="nump">200,709<span></span>
</td>
<td class="nump">184,776<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">93,444<span></span>
</td>
<td class="nump">107,298<span></span>
</td>
<td class="nump">110,310<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod', window );">Forfeited or unearned (in shares)</a></td>
<td class="num">(20,373)<span></span>
</td>
<td class="num">(35,477)<span></span>
</td>
<td class="nump">44,189<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod', window );">Performance share awards converted to restricted stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(19,678)<span></span>
</td>
<td class="num">(138,566)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested and issued (in shares)</a></td>
<td class="num">(75,971)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding at end of period (in shares)</a></td>
<td class="nump">249,952<span></span>
</td>
<td class="nump">252,852<span></span>
</td>
<td class="nump">200,709<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted-Average Grant-Date Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding at beginning of the period (in dollars per share)</a></td>
<td class="nump">$ 29.27<span></span>
</td>
<td class="nump">$ 30.75<span></span>
</td>
<td class="nump">$ 30.15<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="nump">31.26<span></span>
</td>
<td class="nump">26.96<span></span>
</td>
<td class="nump">30.95<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited or unearned (in dollars per share)</a></td>
<td class="nump">29.92<span></span>
</td>
<td class="nump">30.15<span></span>
</td>
<td class="nump">29.77<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue', window );">Performance share awards converted to restricted stock (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.15<span></span>
</td>
<td class="nump">29.80<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested and issued (in dollars per share)</a></td>
<td class="nump">30.50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding at end of the period in dollars per share)</a></td>
<td class="nump">$ 29.59<span></span>
</td>
<td class="nump">$ 29.27<span></span>
</td>
<td class="nump">$ 30.75<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Actual Performance, Net Of Forfeitures In Period</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Actual Performance, Net Of Forfeitures, Weighted-Average Grant Date Fair Value</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Conversions in Period</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Conversions in Period, Weighted Average Grant Date Fair Value</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701755779112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financing Receivables - Narrative (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_LongTermFinancingArrangementMember', window );">Long-Term Financing Arrangement | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_FinancingReceivableTerm', window );">Receivable term</a></td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_LongTermFinancingArrangementMember', window );">Long-Term Financing Arrangement | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_FinancingReceivableTerm', window );">Receivable term</a></td>
<td class="text">7 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_ShortTermPaymentPlansMember', window );">Short-term payment plans, gross | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_FinancingReceivableTerm', window );">Receivable term</a></td>
<td class="text">3 months<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_ShortTermPaymentPlansMember', window );">Short-term payment plans, gross | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_FinancingReceivableTerm', window );">Receivable term</a></td>
<td class="text">12 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_FinancingReceivableTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Financing Receivable, Term</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_FinancingReceivableTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsNotesAndLoansReceivableLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsNotesAndLoansReceivableLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_LongTermFinancingArrangementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_LongTermFinancingArrangementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_ShortTermPaymentPlansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_ShortTermPaymentPlansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756310312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Financing Receivables - Short-Term Payment Plans (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesAndLoansReceivableNetCurrent', window );">Short-term payment plans, net</a></td>
<td class="nump">$ 6,488<span></span>
</td>
<td class="nump">$ 10,821<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_ShortTermPaymentPlansMember', window );">Short-term payment plans, gross</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesAndLoansReceivableGrossCurrent', window );">Short-term payment plans, gross</a></td>
<td class="nump">121<span></span>
</td>
<td class="nump">1,973<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForNotesAndLoansReceivableCurrent', window );">Less: allowance for losses</a></td>
<td class="num">(6)<span></span>
</td>
<td class="num">(99)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesAndLoansReceivableNetCurrent', window );">Short-term payment plans, net</a></td>
<td class="nump">$ 115<span></span>
</td>
<td class="nump">$ 1,874<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsNotesAndLoansReceivableLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsNotesAndLoansReceivableLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForNotesAndLoansReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on financing receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForNotesAndLoansReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesAndLoansReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of financing receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3(a),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesAndLoansReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesAndLoansReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of financing receivable, classified as current. Includes, but is not limited to, notes and loan receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesAndLoansReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_ShortTermPaymentPlansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_ShortTermPaymentPlansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701760660056">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Financing Receivables - Components of Lease Receivables (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Less: allowance for credit losses</a></td>
<td class="num">$ (722)<span></span>
</td>
<td class="num">$ (1,489)<span></span>
</td>
<td class="num">$ (2,971)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableNet', window );">Long-term financing arrangements, net</a></td>
<td class="nump">13,719<span></span>
</td>
<td class="nump">22,298<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_LongTermFinancingArrangementMember', window );">Long-Term Financing Arrangement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Long-term financing arrangements, gross</a></td>
<td class="nump">15,659<span></span>
</td>
<td class="nump">24,082<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Less: allowance for credit losses</a></td>
<td class="num">(716)<span></span>
</td>
<td class="num">(1,390)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableDeferredIncome', window );">Less: unearned income</a></td>
<td class="num">(1,339)<span></span>
</td>
<td class="num">(2,268)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableNet', window );">Long-term financing arrangements, net</a></td>
<td class="nump">$ 13,604<span></span>
</td>
<td class="nump">$ 20,424<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableAllowanceForCreditLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on financing receivable. Excludes allowance for financing receivable covered under loss sharing agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(7)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (3)<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (c)<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (1)<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableAllowanceForCreditLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableDeferredIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of fee received for commitment to originate or purchase financing receivable where likelihood of commitment being exercised is remote. Excludes financing receivable covered under loss sharing agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6378536&amp;loc=d3e10095-111533<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableDeferredIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesReceivableGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of financing receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7A<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953401-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 55<br> -Paragraph 79<br> -URI http://asc.fasb.org/extlink&amp;oid=124267575&amp;loc=SL82922352-210448<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919253-210447<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919230-210447<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 55<br> -Paragraph 80<br> -URI http://asc.fasb.org/extlink&amp;oid=124267575&amp;loc=SL82922355-210448<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (1)<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (2)<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1404<br> -Paragraph (a)<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesReceivableGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919230-210447<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_LongTermFinancingArrangementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_LongTermFinancingArrangementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701760641384">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Financing Receivables - Future Minimum Lease Payments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Less: allowance for credit losses</a></td>
<td class="num">$ (722)<span></span>
</td>
<td class="num">$ (1,489)<span></span>
</td>
<td class="num">$ (2,971)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableNet', window );">Long-term financing arrangements, net</a></td>
<td class="nump">13,719<span></span>
</td>
<td class="nump">22,298<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_LongTermFinancingArrangementMember', window );">Long-Term Financing Arrangement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths', window );">2022</a></td>
<td class="nump">7,060<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears', window );">2023</a></td>
<td class="nump">4,393<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears', window );">2024</a></td>
<td class="nump">2,726<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears', window );">2025</a></td>
<td class="nump">1,309<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears', window );">2026</a></td>
<td class="nump">153<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter', window );">Thereafter</a></td>
<td class="nump">18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived', window );">Total minimum payments to be received</a></td>
<td class="nump">15,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Less: allowance for credit losses</a></td>
<td class="num">(716)<span></span>
</td>
<td class="num">(1,390)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableDeferredIncome', window );">Less: unearned income</a></td>
<td class="num">(1,339)<span></span>
</td>
<td class="num">(2,268)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableNet', window );">Long-term financing arrangements, net</a></td>
<td class="nump">$ 13,604<span></span>
</td>
<td class="nump">$ 20,424<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableAllowanceForCreditLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on financing receivable. Excludes allowance for financing receivable covered under loss sharing agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(7)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (3)<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (c)<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (1)<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableAllowanceForCreditLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableDeferredIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of fee received for commitment to originate or purchase financing receivable where likelihood of commitment being exercised is remote. Excludes financing receivable covered under loss sharing agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6378536&amp;loc=d3e10095-111533<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableDeferredIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919230-210447<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=124258985&amp;loc=SL77919391-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=124258985&amp;loc=SL77919391-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=124258985&amp;loc=SL77919391-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=124258985&amp;loc=SL77919391-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=124258985&amp;loc=SL77919391-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=124258985&amp;loc=SL77919391-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=124258985&amp;loc=SL77919391-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_LongTermFinancingArrangementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=cpsi_LongTermFinancingArrangementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762937640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financing Receivables - Allowance for Financing Credit Losses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward', window );"><strong>Allowance for Doubtful Accounts Receivable [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Beginning Balance</a></td>
<td class="nump">$ 1,489<span></span>
</td>
<td class="nump">$ 2,971<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProvisionForLoanLossesExpensed', window );">Provision</a></td>
<td class="nump">481<span></span>
</td>
<td class="nump">1,632<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs', window );">Charge-offs</a></td>
<td class="num">(1,248)<span></span>
</td>
<td class="num">(3,114)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery', window );">Recoveries</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Ending Balance</a></td>
<td class="nump">$ 722<span></span>
</td>
<td class="nump">$ 1,489<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableAllowanceForCreditLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on financing receivable. Excludes allowance for financing receivable covered under loss sharing agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(7)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (3)<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (c)<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (1)<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableAllowanceForCreditLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in allowance for credit loss on financing receivable from recovery.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 55<br> -Paragraph 79<br> -URI http://asc.fasb.org/extlink&amp;oid=124267575&amp;loc=SL82922352-210448<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of writeoff of financing receivable, charged against allowance for credit loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 55<br> -Paragraph 79<br> -URI http://asc.fasb.org/extlink&amp;oid=124267575&amp;loc=SL82922352-210448<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForLoanLossesExpensed">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of credit loss expense (reversal of expense) for financing receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForLoanLossesExpensed</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756490904">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Financing Receivables - Analysis of Age of Financing Receivable (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=us-gaap_FinancialAssetPastDueMember', window );">Total Past Due</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Long-term financing arrangements, gross</a></td>
<td class="nump">$ 864<span></span>
</td>
<td class="nump">$ 2,169<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset1To90DaysPastDueMember', window );">1 to 90 Days Past Due</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Long-term financing arrangements, gross</a></td>
<td class="nump">713<span></span>
</td>
<td class="nump">1,270<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset91To180DaysPastDueMember', window );">91&#160;to&#160;180&#160;Days Past Due</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Long-term financing arrangements, gross</a></td>
<td class="nump">78<span></span>
</td>
<td class="nump">227<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset181OrMoreDaysPastDueMember', window );">181 + Days Past Due</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Long-term financing arrangements, gross</a></td>
<td class="nump">$ 73<span></span>
</td>
<td class="nump">$ 672<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesReceivableGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of financing receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7A<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953401-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 55<br> -Paragraph 79<br> -URI http://asc.fasb.org/extlink&amp;oid=124267575&amp;loc=SL82922352-210448<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919253-210447<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919230-210447<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 55<br> -Paragraph 80<br> -URI http://asc.fasb.org/extlink&amp;oid=124267575&amp;loc=SL82922355-210448<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (1)<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (2)<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1404<br> -Paragraph (a)<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesReceivableGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=us-gaap_FinancialAssetPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesPeriodPastDueAxis=us-gaap_FinancialAssetPastDueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset1To90DaysPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset1To90DaysPastDueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset91To180DaysPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset91To180DaysPastDueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset181OrMoreDaysPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset181OrMoreDaysPastDueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701755802952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Financing Receivables - Summary of Financing Receivables by Credit Quality Indicator (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess', window );">Total financing receivables with contractual maturities of one year or less</a></td>
<td class="nump">$ 121<span></span>
</td>
<td class="nump">$ 1,973<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLosses', window );">Less: allowance for credit losses</a></td>
<td class="num">(722)<span></span>
</td>
<td class="num">(1,489)<span></span>
</td>
<td class="num">$ (2,971)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableNet', window );">Long-term financing arrangements, net</a></td>
<td class="nump">13,719<span></span>
</td>
<td class="nump">22,298<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=us-gaap_FinancialAssetPastDueMember', window );">Total Past Due</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Total uninvoiced client financing receivables of clients with no related trade accounts receivable</a></td>
<td class="nump">864<span></span>
</td>
<td class="nump">2,169<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=us-gaap_FinancialAssetPastDueMember', window );">Total Past Due | Trade Accounts Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Total uninvoiced client financing receivables of clients with no related trade accounts receivable</a></td>
<td class="nump">9,815<span></span>
</td>
<td class="nump">15,479<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset1To90DaysPastDueMember', window );">1 to 90 Days Past Due</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Total uninvoiced client financing receivables of clients with no related trade accounts receivable</a></td>
<td class="nump">713<span></span>
</td>
<td class="nump">1,270<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset1To90DaysPastDueMember', window );">1 to 90 Days Past Due | Trade Accounts Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Total uninvoiced client financing receivables of clients with no related trade accounts receivable</a></td>
<td class="nump">9,100<span></span>
</td>
<td class="nump">11,719<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset91To180DaysPastDueMember', window );">91&#160;to&#160;180&#160;Days Past Due</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Total uninvoiced client financing receivables of clients with no related trade accounts receivable</a></td>
<td class="nump">78<span></span>
</td>
<td class="nump">227<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset91To180DaysPastDueMember', window );">91&#160;to&#160;180&#160;Days Past Due | Trade Accounts Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Total uninvoiced client financing receivables of clients with no related trade accounts receivable</a></td>
<td class="nump">329<span></span>
</td>
<td class="nump">1,092<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset181OrMoreDaysPastDueMember', window );">181 + Days Past Due</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Total uninvoiced client financing receivables of clients with no related trade accounts receivable</a></td>
<td class="nump">73<span></span>
</td>
<td class="nump">672<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset181OrMoreDaysPastDueMember', window );">181 + Days Past Due | Trade Accounts Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Total uninvoiced client financing receivables of clients with no related trade accounts receivable</a></td>
<td class="nump">386<span></span>
</td>
<td class="nump">2,668<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=us-gaap_FinancialAssetNotPastDueMember', window );">Financial Asset, Not Past Due</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems', window );"><strong>Financing Receivable, Past Due [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesReceivableGross', window );">Total uninvoiced client financing receivables of clients with no related trade accounts receivable</a></td>
<td class="nump">$ 4,505<span></span>
</td>
<td class="nump">$ 6,335<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Financing Receivable Credit Quality Loans With Contractual Maturities Of One Year Or Less</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableAllowanceForCreditLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on financing receivable. Excludes allowance for financing receivable covered under loss sharing agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(7)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (3)<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (c)<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (1)<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableAllowanceForCreditLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesReceivableGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of financing receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7A<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953401-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 55<br> -Paragraph 79<br> -URI http://asc.fasb.org/extlink&amp;oid=124267575&amp;loc=SL82922352-210448<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919253-210447<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919230-210447<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 55<br> -Paragraph 80<br> -URI http://asc.fasb.org/extlink&amp;oid=124267575&amp;loc=SL82922355-210448<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (1)<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1405<br> -Paragraph (a)<br> -Subparagraph (2)<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher SEC<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1404<br> -Paragraph (a)<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesReceivableGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919230-210447<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=us-gaap_FinancialAssetPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesPeriodPastDueAxis=us-gaap_FinancialAssetPastDueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=us-gaap_TradeAccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=us-gaap_TradeAccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset1To90DaysPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset1To90DaysPastDueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset91To180DaysPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset91To180DaysPastDueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset181OrMoreDaysPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesPeriodPastDueAxis=cpsi_FinancialAsset181OrMoreDaysPastDueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesPeriodPastDueAxis=us-gaap_FinancialAssetNotPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesPeriodPastDueAxis=us-gaap_FinancialAssetNotPastDueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701755850632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets and Goodwill - Definite-Lived Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 125,190<span></span>
</td>
<td class="nump">$ 125,190<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Intangible assets acquired</a></td>
<td class="nump">$ 37,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(67,287)<span></span>
</td>
<td class="num">(53,501)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net intangible assets</a></td>
<td class="nump">$ 95,203<span></span>
</td>
<td class="nump">71,689<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted average remaining years of useful life</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">84,370<span></span>
</td>
<td class="nump">84,370<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Intangible assets acquired</a></td>
<td class="nump">$ 28,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(41,738)<span></span>
</td>
<td class="num">(33,612)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net intangible assets</a></td>
<td class="nump">$ 70,832<span></span>
</td>
<td class="nump">50,758<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted average remaining years of useful life</a></td>
<td class="text">9 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember', window );">Trademark</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,120<span></span>
</td>
<td class="nump">11,120<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Intangible assets acquired</a></td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(5,177)<span></span>
</td>
<td class="num">(4,297)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net intangible assets</a></td>
<td class="nump">$ 7,143<span></span>
</td>
<td class="nump">6,823<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted average remaining years of useful life</a></td>
<td class="text">13 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29,700<span></span>
</td>
<td class="nump">$ 29,700<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Intangible assets acquired</a></td>
<td class="nump">$ 7,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(20,372)<span></span>
</td>
<td class="num">(15,592)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net intangible assets</a></td>
<td class="nump">$ 17,228<span></span>
</td>
<td class="nump">$ 14,108<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted average remaining years of useful life</a></td>
<td class="text">8 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinitelivedIntangibleAssetsAcquired1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinitelivedIntangibleAssetsAcquired1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701763627864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets and Goodwill - Amortization (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2022</a></td>
<td class="nump">$ 14,688<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2023</a></td>
<td class="nump">12,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2024</a></td>
<td class="nump">11,266<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2025</a></td>
<td class="nump">10,950<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2026</a></td>
<td class="nump">10,328<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Due thereafter</a></td>
<td class="nump">35,171<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net intangible assets</a></td>
<td class="nump">$ 95,203<span></span>
</td>
<td class="nump">$ 71,689<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701755804824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets and Goodwill - Schedule of Goodwill (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, beginning balance</a></td>
<td class="nump">$ 150,216<span></span>
</td>
<td class="nump">$ 140,449<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill acquired</a></td>
<td class="nump">27,497<span></span>
</td>
<td class="nump">9,767<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, ending balance</a></td>
<td class="nump">177,713<span></span>
</td>
<td class="nump">150,216<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Acute Care EHR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, beginning balance</a></td>
<td class="nump">97,095<span></span>
</td>
<td class="nump">97,095<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill acquired</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, ending balance</a></td>
<td class="nump">97,095<span></span>
</td>
<td class="nump">97,095<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Post-acute Care EHR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, beginning balance</a></td>
<td class="nump">29,570<span></span>
</td>
<td class="nump">29,570<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill acquired</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, ending balance</a></td>
<td class="nump">29,570<span></span>
</td>
<td class="nump">29,570<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | TruBridge</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, beginning balance</a></td>
<td class="nump">23,551<span></span>
</td>
<td class="nump">13,784<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill acquired</a></td>
<td class="nump">27,497<span></span>
</td>
<td class="nump">9,767<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, ending balance</a></td>
<td class="nump">$ 51,048<span></span>
</td>
<td class="nump">$ 23,551<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cpsi_AcuteCareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cpsi_AcuteCareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cpsi_PostAcuteCareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cpsi_PostAcuteCareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cpsi_BusinessManagementConsultingandManagedITServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cpsi_BusinessManagementConsultingandManagedITServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701760581640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets and Goodwill - Narrative (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Goodwill impairment</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13777-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762501336">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long-Term Debt - Schedule of Debt (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNet', window );">Less: debt issuance costs</a></td>
<td class="num">$ (1,015)<span></span>
</td>
<td class="num">$ (1,308)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Debt obligation, net</a></td>
<td class="nump">99,360<span></span>
</td>
<td class="nump">76,817<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Less: current portion</a></td>
<td class="num">(4,394)<span></span>
</td>
<td class="num">(3,457)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt</a></td>
<td class="nump">94,966<span></span>
</td>
<td class="nump">73,360<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Debt obligations</a></td>
<td class="nump">100,375<span></span>
</td>
<td class="nump">78,125<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Debt obligation, net</a></td>
<td class="nump">100,375<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Line of credit | Term loan facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Debt obligations</a></td>
<td class="nump">69,375<span></span>
</td>
<td class="nump">73,125<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Line of credit | Revolving credit facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Debt obligations</a></td>
<td class="nump">$ 31,000<span></span>
</td>
<td class="nump">$ 5,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=cpsi_TermLoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=cpsi_TermLoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756538008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-Term Debt - Narrative (Details) - Line of credit<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1">21 Months Ended</th>
<th class="th" colspan="1">45 Months Ended</th>
<th class="th" colspan="1">54 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jun. 16, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th">
<div>Jun. 30, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2025 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2016 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit', window );">Line of credit facility, incremental facility capacity</a></td>
<td class="nump">$ 50,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum', window );">Minimum fixed charge coverage ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum', window );">Maximum consolidated leverage ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage', window );">Prepayment amount from excess cash flow</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio', window );">Consolidated leverage ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">LIBOR rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Term loan facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Amount of credit facility</a></td>
<td class="nump">$ 75,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 125,000,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Term loan facility | Forecast</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentPeriodicPaymentPrincipal', window );">Quarterly principal payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 900,000<span></span>
</td>
<td class="nump">$ 1,400,000<span></span>
</td>
<td class="nump">$ 1,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving credit facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Amount of credit facility</a></td>
<td class="nump">$ 110,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50,000,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving credit facility | Federal funds rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving credit facility | LIBOR rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving credit facility | LIBOR rate | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">1.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving credit facility | LIBOR rate | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving credit facility | Base rate | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">0.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving credit facility | Base rate | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Amended and Restated Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Amount of credit facility</a></td>
<td class="nump">$ 185,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Covenant, Prepayment Amount from Excess Cash Flow, Percentage</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Accordion Feature, Increase Limit</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_LongTermDebtCovenantConsolidatedLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long Term Debt Covenant Consolidated Leverage Ratio</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_LongTermDebtCovenantConsolidatedLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-Term Debt, Covenant, Consolidated Leverage Ratio, Maximum</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-Term Debt, Covenant, Fixed Charge Coverage Ratio, Minimum</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentPeriodicPaymentPrincipal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the required periodic payments applied to principal.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentPeriodicPaymentPrincipal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=cpsi_TermLoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=cpsi_TermLoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_FederalFundsEffectiveSwapRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_FederalFundsEffectiveSwapRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_BaseRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_BaseRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=cpsi_AmendedAndRestatedCreditAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=cpsi_AmendedAndRestatedCreditAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756014184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long-Term Debt - Anticipated Annual Future Maturities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Debt obligation, net</a></td>
<td class="nump">$ 99,360<span></span>
</td>
<td class="nump">$ 76,817<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2022</a></td>
<td class="nump">4,687<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2023</a></td>
<td class="nump">5,625<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree', window );">2024</a></td>
<td class="nump">6,563<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour', window );">2025</a></td>
<td class="nump">83,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_LongTermDebtMaturityAfterYearFour', window );">Thereafter</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Debt obligation, net</a></td>
<td class="nump">$ 100,375<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_LongTermDebtMaturityAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-Term Debt, Maturity, After Year Four</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_LongTermDebtMaturityAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701766725176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Benefit Plans (Details) - CPSI 401(k) Retirement Plan - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanDisclosureLineItems', window );"><strong>Defined Contribution Plan Disclosure [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum', window );">Employee contribution (up to)</a></td>
<td class="nump">60.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">Employer contribution</a></td>
<td class="nump">$ 3.2<span></span>
</td>
<td class="nump">$ 3.2<span></span>
</td>
<td class="nump">$ 2.9<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred Compensation Arrangement With Individual Employee Contribution Percentage Maximum</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of discretionary contributions made by an employer to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanNameAxis=cpsi_CPSI401kRetirementPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanNameAxis=cpsi_CPSI401kRetirementPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756440984">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Operating Leases - Supplemental Balance Sheet Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease assets</a></td>
<td class="nump">$ 7,097<span></span>
</td>
<td class="nump">$ 6,610<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Other accrued liabilities</a></td>
<td class="nump">$ 1,592<span></span>
</td>
<td class="nump">$ 1,518<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating lease, liability, current, statement of financial position [Extensible List]</a></td>
<td class="text">Other accrued liabilities<span></span>
</td>
<td class="text">Other accrued liabilities<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, net of current portion</a></td>
<td class="nump">$ 5,505<span></span>
</td>
<td class="nump">$ 5,092<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">$ 7,097<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term in years</a></td>
<td class="text">6 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">4.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes current operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701756441144">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Operating Leases - Future Minimum Lease Payments Payable Under these Operating Leases (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2022</a></td>
<td class="nump">$ 1,592<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2023</a></td>
<td class="nump">1,520<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2024</a></td>
<td class="nump">1,411<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2025</a></td>
<td class="nump">1,202<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2026</a></td>
<td class="nump">1,225<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">1,115<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">8,065<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="num">(968)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="nump">$ 7,097<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701764075720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases - Narrative (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jul. 28, 2021 </div>
<div>USD ($) </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AreaOfRealEstateProperty', window );">Area of real estate property | ft&#178;</a></td>
<td class="nump">45,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cpsi_PaymentsOnEarlyTerminationOfLease', window );">Payments on early termination of lease</a></td>
<td class="nump">$ 0.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnTerminationOfLease', window );">Loss on termination of lease</a></td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Rent expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.8<span></span>
</td>
<td class="nump">$ 1.7<span></span>
</td>
<td class="nump">$ 2.2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating lease payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cpsi_PaymentsOnEarlyTerminationOfLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments On Early Termination Of Lease</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cpsi_PaymentsOnEarlyTerminationOfLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cpsi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AreaOfRealEstateProperty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area of a real estate property.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AreaOfRealEstateProperty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:areaItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnTerminationOfLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on termination of lease before expiration of lease term.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 40<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123386189&amp;loc=SL77918607-209975<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnTerminationOfLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701768583064">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementBasisAxis=us-gaap_CarryingReportedAmountFairValueDisclosureMember', window );">Carrying Amount</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure', window );">Contingent consideration</a></td>
<td class="nump">$ 2,500<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityFairValueDisclosure', window );">Total</a></td>
<td class="nump">2,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember', window );">Fair Value | Quoted Price in Active Markets for Identical Assets (Level 1)</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure', window );">Contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityFairValueDisclosure', window );">Total</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember', window );">Fair Value | Significant Other Observable Inputs (Level 2)</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure', window );">Contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityFairValueDisclosure', window );">Total</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember', window );">Fair Value | Significant Unobservable Inputs (Level 3)</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure', window );">Contingent consideration</a></td>
<td class="nump">2,500<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityFairValueDisclosure', window );">Total</a></td>
<td class="nump">$ 2,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of contingent consideration in a business combination that is classified in shareholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of the entity's equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementBasisAxis=us-gaap_CarryingReportedAmountFairValueDisclosureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementBasisAxis=us-gaap_CarryingReportedAmountFairValueDisclosureMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701761559720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Reporting (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of operating segments | segment</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenues:</a></td>
<td class="nump">$ 280,629<span></span>
</td>
<td class="nump">$ 264,488<span></span>
</td>
<td class="nump">$ 274,634<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total costs of sales</a></td>
<td class="nump">139,747<span></span>
</td>
<td class="nump">128,242<span></span>
</td>
<td class="nump">130,489<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">140,882<span></span>
</td>
<td class="nump">136,246<span></span>
</td>
<td class="nump">144,145<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Corporate operating expenses</a></td>
<td class="num">(116,175)<span></span>
</td>
<td class="num">(115,192)<span></span>
</td>
<td class="num">(119,562)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncome', window );">Other income</a></td>
<td class="nump">1,529<span></span>
</td>
<td class="nump">1,494<span></span>
</td>
<td class="nump">807<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1', window );">Gain on contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(202)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(3,160)<span></span>
</td>
<td class="num">(3,562)<span></span>
</td>
<td class="num">(6,694)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before taxes</a></td>
<td class="nump">23,076<span></span>
</td>
<td class="nump">18,784<span></span>
</td>
<td class="nump">23,696<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Acute Care EHR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenues:</a></td>
<td class="nump">125,379<span></span>
</td>
<td class="nump">134,770<span></span>
</td>
<td class="nump">144,074<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total costs of sales</a></td>
<td class="nump">65,776<span></span>
</td>
<td class="nump">64,540<span></span>
</td>
<td class="nump">68,569<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">59,603<span></span>
</td>
<td class="nump">70,230<span></span>
</td>
<td class="nump">75,505<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Post-acute Care EHR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenues:</a></td>
<td class="nump">17,730<span></span>
</td>
<td class="nump">18,184<span></span>
</td>
<td class="nump">21,278<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total costs of sales</a></td>
<td class="nump">4,888<span></span>
</td>
<td class="nump">4,821<span></span>
</td>
<td class="nump">5,303<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">12,842<span></span>
</td>
<td class="nump">13,363<span></span>
</td>
<td class="nump">15,975<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | TruBridge</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenues:</a></td>
<td class="nump">137,520<span></span>
</td>
<td class="nump">111,534<span></span>
</td>
<td class="nump">109,282<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total costs of sales</a></td>
<td class="nump">69,083<span></span>
</td>
<td class="nump">58,881<span></span>
</td>
<td class="nump">56,617<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">68,437<span></span>
</td>
<td class="nump">52,653<span></span>
</td>
<td class="nump">52,665<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Corporate operating expenses</a></td>
<td class="num">(116,175)<span></span>
</td>
<td class="num">(115,192)<span></span>
</td>
<td class="num">(119,562)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=cpsi_SystemSalesAndSupportRevenueRecurringMember', window );">Recurring revenue | Operating segments | Acute Care EHR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenues:</a></td>
<td class="nump">108,440<span></span>
</td>
<td class="nump">105,597<span></span>
</td>
<td class="nump">109,046<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=cpsi_SystemSalesAndSupportRevenueRecurringMember', window );">Recurring revenue | Operating segments | Post-acute Care EHR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenues:</a></td>
<td class="nump">16,472<span></span>
</td>
<td class="nump">16,272<span></span>
</td>
<td class="nump">17,466<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=cpsi_SystemsSalesAndSupportRevenueNonrecurringMember', window );">Non-recurring revenue | Operating segments | Acute Care EHR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenues:</a></td>
<td class="nump">16,939<span></span>
</td>
<td class="nump">29,173<span></span>
</td>
<td class="nump">35,028<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=cpsi_SystemsSalesAndSupportRevenueNonrecurringMember', window );">Non-recurring revenue | Operating segments | Post-acute Care EHR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales revenues:</a></td>
<td class="nump">$ 1,258<span></span>
</td>
<td class="nump">$ 1,912<span></span>
</td>
<td class="nump">$ 3,812<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of right to a contingent consideration asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123467658&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467658&amp;loc=d3e12317-112629<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123384075&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8672-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cpsi_AcuteCareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cpsi_AcuteCareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cpsi_PostAcuteCareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cpsi_PostAcuteCareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cpsi_TruBridgeRycanandOtherOutsourcingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cpsi_TruBridgeRycanandOtherOutsourcingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=cpsi_SystemSalesAndSupportRevenueRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=cpsi_SystemSalesAndSupportRevenueRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=cpsi_SystemsSalesAndSupportRevenueNonrecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=cpsi_SystemsSalesAndSupportRevenueNonrecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701769431544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent Events (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Mar. 01, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent event | Healthcare Resource Group, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</a></td>
<td class="nump">$ 44.0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cpsi_HealthcareResourceGroupIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cpsi_HealthcareResourceGroupIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762561832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II - Valuation and Qualifying Accounts - Allowance for Doubtful Accounts (Details) - Allowance for credit losses deducted from accounts receivable in the balance sheet - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at beginning of period</a></td>
<td class="nump">$ 1,701<span></span>
</td>
<td class="nump">$ 2,078<span></span>
</td>
<td class="nump">$ 2,124<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Additions charged to cost and expenses</a></td>
<td class="nump">2,111<span></span>
</td>
<td class="nump">2,825<span></span>
</td>
<td class="nump">1,378<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Deductions</a></td>
<td class="num">(1,986)<span></span>
</td>
<td class="num">(3,202)<span></span>
</td>
<td class="num">(1,424)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at end of period</a></td>
<td class="nump">$ 1,826<span></span>
</td>
<td class="nump">$ 1,701<span></span>
</td>
<td class="nump">$ 2,078<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm139701762499672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II - Valuation and Qualifying Accounts - Allowance for Credit Losses (Details) - Allowance for credit losses deducted from financing receivables in the balance sheet - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at beginning of period</a></td>
<td class="nump">$ 1,489<span></span>
</td>
<td class="nump">$ 2,971<span></span>
</td>
<td class="nump">$ 2,567<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Additions charged to cost and expenses</a></td>
<td class="nump">481<span></span>
</td>
<td class="nump">1,632<span></span>
</td>
<td class="nump">970<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Deductions</a></td>
<td class="num">(1,248)<span></span>
</td>
<td class="num">(3,114)<span></span>
</td>
<td class="num">(566)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at end of period</a></td>
<td class="nump">$ 722<span></span>
</td>
<td class="nump">$ 1,489<span></span>
</td>
<td class="nump">$ 2,971<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=cpsi_AllowanceForCreditLossesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=cpsi_AllowanceForCreditLossesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>cpsi-20211231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:cpsi="http://www.cpsinet.com/20211231"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="cpsi-20211231.xsd" xlink:type="simple"/>
    <context id="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i05745bcabd594d529e03b5a3f4a8bd28_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id6e689a90f754916ab5348cc95023213_I20220314">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <instant>2022-03-14</instant>
        </period>
    </context>
    <context id="iee1578436de542c7a4e1e1acd9b621c1_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iab40e2ac68884870b913789195bc317e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6c03f5a350164dcbb88151a9307a6efe_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i05a70aa5b9b94fd3bbf9a56289584148_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie7e2bfd4d0ab499386b43274469ef5d0_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i18c7be7656c24e6cb00dfab95139b68f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0ae67a7678f9428da4168541bb76702a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i745fc6d60f45437b89444e5f20c3d2d4_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i6289b71ef8884ed18903d1e7e8697572_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="id6ee606e4ff34ae19a0e97f328de9dc7_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i6eedb6f3dea941ef924d7276771d7f45_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i8aba27fdc79045019baacfd81483f76d_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="iba34e02a99eb4a77a9abd132b80fd41a_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i438e17be21934556a24852d84040cdc1_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i78d30715b9ff4950abf53cd91b6bbddf_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i161f1a2c1f7d40c9bc3cd7765d34dc6e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5bdf4e1213094d24bc30af4608ab1ab6_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i03c4d80ea54b45e79405e772d3c33c35_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i28f393c50f5d4118b8aafcd0ceef0a48_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i80b932da804a4ed8b9574e3a636543e7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iade483e7d2224faaba6643c762704fb8_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i988c23bc2b6c4d6885cccece006a967c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i746f8c641c4e4628871b375360ebea34_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib7d87517073c4ef080856d0864cc44d5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iabe727aa5b024239a8f88cbaa56f259b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i372ccaaaabb64ec7b0184fe91bc0c66e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4b260f3389ec44cc836ffb3fe01ac7ee_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iff782942cf60437782f74f9de6b582aa_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ida9c8897ad9947d58f4864ed048f4cc3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="idd96f2e6ab4f4c0fbddb03bce1100899_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i189b982ec82d4066a9da9cef2b3c2603_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i40854906b1a84164b853e80f5ce75b40_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie3be8de809da487e916dc4d13609fa3d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iaf7538eb0c9b4474aee9fc10bdcf72bc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i660c77300a31443b809244dda2006fb8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i97049eb4e2d34ed7b632ec15d0da61a1_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3235e161e0a8448c8112368fd1541e43_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib0d4e466721e4851993fea764dd48e38_D20210101-20210101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:IntangibleAssetsAmortizationPeriodMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-01-01</endDate>
        </period>
    </context>
    <context id="iad30fa0c200440a79279d9943444a481_D20210101-20210101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:IntangibleAssetsAmortizationPeriodMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-01-01</endDate>
        </period>
    </context>
    <context id="i81f41de3db3a4679b3676df5cff97128_D20210101-20210101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:IntangibleAssetsAmortizationPeriodMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-01-01</endDate>
        </period>
    </context>
    <context id="i2f293cd124844e6698cb14311e883625_D20210101-20210101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:IntangibleAssetsAmortizationPeriodMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-01-01</endDate>
        </period>
    </context>
    <context id="if8ccc001a0c048f79fe279167835d4c6_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:IntangibleAssetsAmortizationPeriodMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i724b2edce52c456a99de6eb5015156e0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib8cc098f4999424aa09e32faba6b5fe9_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodReclassificationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie295800c8fa7470aa18873c906a7f7e5_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i17c48da9fdbe4e2aa718d56d6f7fcf95_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RevisionOfPriorPeriodReclassificationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5d37869fd9b247729baa4e447474047b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4a38d9a2f80e47618c1cfa72f305d4a5_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i035c17643efe4d4db4d3f8214f0473eb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7ec240adbe214ae69b72897486213f92_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i7eb4e2da22d347169aff5fce18c7c88a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id64e1dd8939e448e88046c4c36f6f831_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3323119e0c3647b980f3599fd5055bd0_D20210512-20210512">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:TruCodeLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-12</startDate>
            <endDate>2021-05-12</endDate>
        </period>
    </context>
    <context id="i6565462584164257bb0d8fa000bb0700_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:TruCodeLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i124c345d253b4bccaa47961637d8d63d_I20210512">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:TruCodeLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-12</instant>
        </period>
    </context>
    <context id="iaa1b4c6fdc7a4b9082bc0309d0fcb959_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:TruCodeLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i58aa93d446c1469081e8729fb933cc4d_D20190503-20190503">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:iNetXpertsCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-05-03</startDate>
            <endDate>2019-05-03</endDate>
        </period>
    </context>
    <context id="i1c0f7691c67249928dca97d88dedf9bb_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:iNetXpertsCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:iNetXpertsCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-05-03</instant>
        </period>
    </context>
    <context id="i1da887bcff9b421190fc0fa3fc044d72_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if98f8fbdf0784e23ab624f319145f44d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i375f4addcd3244ef8d2223822d12e4a8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5cdb3384fa3046e2ad46d5e3afec5959_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ide101ceca8f54f33885aaf6f1af9f0fb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5d6f80d9760d40dc87e93b2f0d4e35ec_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ibc31d2d4b5424c9c90dcffbba84d715b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i671809b9f55c489e9bd39b9a6cb45116_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia3bde531893248b5bcb47e6b90b2a928_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3cda13ca420b4c15a53e1ec9361624eb_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0e3f448ddcb940b7b4e3b0bbb19445c8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ica9918e0d8ac4287844a00b525bf32aa_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0e6b903e385e4b339042653e96cfa17c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8620ad511d2f4266a2ab4eb9a4cb91a1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i024ef8a2dc9f40f1846defc35dcecdb7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ibabe8e3244dd4088a48c48662ae961f2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i10998deeec4444688c5a007599d555bf_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia74a26d7c02d4a389189216a323dc710_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="id3f15d2f848e4bdbb0a00f455ceb4254_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0e38cd2e5e6a4451bc6772e3ee528219_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7b63e7a270284839915ff562ea1e0d93_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ic0bff55c32b347aeb41db873273a8db8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OperatingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i44ae32f91bc146269e80edf22a7449c6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OperatingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id7cf6e2513ca435b9fb17c071eac4b41_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OperatingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if72a9e6387844f44955628d8a22a709a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib140512d078a49688922f38534fc3a5e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9c9a51c90657471da0d4ed406f6f44eb_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i8f8d63ff189b4c629197853c2d594eaf_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if7bc0fdebc8b4555bb10cb1c47f7ee1f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i5b2e405c72c54d09a77a962688d6920a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib500e6cd1dfa4de58cdb8277daa0844a_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i35f777e2bdc0495aa175506cf78dc5e0_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4f09ca7c6652413fbd5211df3eff5fb1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i33920c99045546bd851d4134166c7640_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8ad00f52d96b434894058fcdac2ce52e_I20200904">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <instant>2020-09-04</instant>
        </period>
    </context>
    <context id="i820512a48d1743408593315fdf1b70d7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:ShortTermPaymentPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i504af8f371ac41aeadb509b6640f79cf_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:ShortTermPaymentPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i96cce644b5b541e3ab151b39dd56fea8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:ShortTermPaymentPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4a8edb83709a44e493b1a2f14209c2d6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:ShortTermPaymentPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9bb00e874d3e4768884b0370eec29492_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:LongTermFinancingArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i97294598b55e4a169139e60c6100574a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:LongTermFinancingArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:LongTermFinancingArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if5b4079cad9e4f0a9acd21420703e9e1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis">cpsi:LongTermFinancingArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4f71f38e00134d0a967eef57416d23ea_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset1To90DaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i19fe20fadbec473e84c2cefa050549ce_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset91To180DaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="idfbb6db55bcc475c95090a63e03223cb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset181OrMoreDaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i394e0c51c5204c65ba3c50821206516f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5896a48759ed47e986e160780dca3cc6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset1To90DaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2d18e9bb2beb4dfe95e84c699bba98b9_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset91To180DaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i90899b30bab747b9be60aebbb78c0306_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset181OrMoreDaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4338a3b0df2442259fe4743db2d4f147_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia34e41edc0bb4aa0bee1d2ed39d494ff_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset1To90DaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3bd916e526b841e5a2f4c5805b0c460b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset1To90DaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7f089113fe87450796dfec96d18ff113_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset91To180DaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i495ee455a3694ab1bc3a37cbf0792e84_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset91To180DaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id98187245f5942d5bb53b2ff9fefa443_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset181OrMoreDaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i772210ffd2864501b2fa8347302d196d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">cpsi:FinancialAsset181OrMoreDaysPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i50780332897842d8a170c8d913737dca_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i885c4719103c4223917a1819fdc77fae_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iabc96cc01477497c865be40696b76660_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetNotPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0854ed4b072644c5b0be09e992f37e17_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablesPeriodPastDueAxis">us-gaap:FinancialAssetNotPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2be536a0f65c4b11b8d9bd6f68f8756c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6072eac355814ae18b59f266502ab12d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i317e25108f39466cac1924a62b77a83b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i01b18e2e53594288b1e7188aa5cd00e8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5f8355a19d574aa0beea355882e9d31d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i38be02faf2f241de9da5eabb28d5ceaa_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie49e1f5902674ab5af06ab1168ab2753_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1480e56773254180bcd33871404718bc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i836109cf60b343bbbecd278715acae38_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie78548a3771d4f0788eae7e8f3037e69_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i042c4a6e333c4e50abbc82964744d503_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i8a7f3950ab004b87877793d42333a2c7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i59e11e8e16c643d08587bbf17610a0d4_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i3f990ced8a63426fad4d5dbc2dbe5fa0_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ic2c74b16328b45b28e0b371d9c0bc311_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i68250114a9cb4fa1945033918d2365fe_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i50e15f0a744942cd9cc167ab38a7f61d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ife0de9e0394749be960489305714b4a8_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ieb1f4e30623e4f57bdbebdd56a30181d_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i0c9c5fb12ad2447d8357f534c830af13_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ia18b0ed945464b0cadd990f042f24c2b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie12c66c23ade4899aaca58beda541f14_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i33326983aa3b47c799e18f4cd740ab27_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i396944ff3ba942049790a47bde82ea44_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i07770b156f8e48248317564d171ebc33_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8fc8a55b5b234ea5a4e8f6d1200bc81c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8347c29ac01e4a418eb23db105f002ba_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i457aed60978445d8a4fbd2c899cbe129_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:BusinessManagementConsultingandManagedITServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia857e5fe932041ea94266344b190ee72_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="idcbdd02f4e974b62afb99bf20b12e1a7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i098ec3a0edb44499a25f0be40f834433_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4f41e506535241158952377e85b92f73_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7774a291616745f2b99a10cb9fe514c4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4b82d1206fea4eeb801fbfe940a29560_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i69f6598ce20040d0b0d0a00432dd75f5_I20160131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-01-31</instant>
        </period>
    </context>
    <context id="ic2cc02f8bb884567804955e9db8c72e6_I20160131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-01-31</instant>
        </period>
    </context>
    <context id="i89787416874f45a5a31f1114f422880d_I20200616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-16</instant>
        </period>
    </context>
    <context id="i4e0ac7ab7e08464d86fd95fbf051710f_I20200616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-16</instant>
        </period>
    </context>
    <context id="i66ae8df3555a4b09ab10feda0246f5f4_I20200616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-16</instant>
        </period>
    </context>
    <context id="idbfc7bbbd3b0494cacb226b1d2242e9c_D20200616-20200616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-16</startDate>
            <endDate>2020-06-16</endDate>
        </period>
    </context>
    <context id="i2ee0f003efa54176b9c29af41c084885_D20200616-20200616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-16</startDate>
            <endDate>2020-06-16</endDate>
        </period>
    </context>
    <context id="i8012728517e9492c8f41ce749681957b_D20200616-20200616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-16</startDate>
            <endDate>2020-06-16</endDate>
        </period>
    </context>
    <context id="i07f2313760d64cfc8984a1df0d40f5d4_D20200616-20200616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-16</startDate>
            <endDate>2020-06-16</endDate>
        </period>
    </context>
    <context id="i3f07da70093d4c77b85f88ea63b6a831_D20200616-20200616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-16</startDate>
            <endDate>2020-06-16</endDate>
        </period>
    </context>
    <context id="ibeb8591df2a54f0ea408cf7c86d6683c_D20200616-20200616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-16</startDate>
            <endDate>2020-06-16</endDate>
        </period>
    </context>
    <context id="ic359000302a944a6978029ba0d8b4b34_D20201001-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i17b8def01d8f46fabb3836ba681f540a_D20201001-20240630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="iee50ce6c660b4c4a919bfb026f1f98d5_D20201001-20250331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cpsi:TermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="iab3e980571b74fb994aa2a980e2a354a_I20200616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-16</instant>
        </period>
    </context>
    <context id="i39ea9db2d47d426f970476611d79347d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i82de15842fe341b6a9773eb86164746c_D20200616-20200616">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-16</startDate>
            <endDate>2020-06-16</endDate>
        </period>
    </context>
    <context id="i61573d36a5d94d7c929e3392a7bb1697_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">cpsi:CPSI401kRetirementPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5fb6373a3d534f41a85aaa20ffcfeeb3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">cpsi:CPSI401kRetirementPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i85937983f2e544d8ba83df5d7af6737c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanNameAxis">cpsi:CPSI401kRetirementPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i2c75fe23fc704fd29b033637c890a68a_I20210728">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <instant>2021-07-28</instant>
        </period>
    </context>
    <context id="i77453d5f51a04b3a88ce146231aa3865_D20210728-20210728">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
        </entity>
        <period>
            <startDate>2021-07-28</startDate>
            <endDate>2021-07-28</endDate>
        </period>
    </context>
    <context id="i74355865c0724ca39a307223f41d7961_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia2ae05a7cfd84775a807baf40cc36dcb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8d38aef87c0344f49223a051136f1c98_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie43da8c2275c495190a48135ad8f7d2e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ieb792a6c64fe49a1a89138698dc99a5f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i61ca0207d5aa4abc8d4e41af984bd82e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i49e87857fd2c41518c50532cff87363d_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ifae67c79998f42aeb7021dd210dba092_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie82ebf9b6c364ff78d02b15b49c50681_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if51be33f23954516a3cf10a82447fa94_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i8add1fe0b7094bfea04a75a643d1cc19_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:AcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i795e095788164b229ee78021c19dcbaf_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i20a7abbd8d894bf6968952740024a006_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic31376515a1a49d38d3e227d452e1acd_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemSalesAndSupportRevenueRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9fd71d6876134adcacebca405a9ef3d7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6d2acb701ee14268961a5e4cbd745884_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if98b70a755f34fe38d4e528bbdc52f89_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpsi:SystemsSalesAndSupportRevenueNonrecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:PostAcuteCareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i77ec980fd65e483185800534cade882c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:TruBridgeRycanandOtherOutsourcingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifc0be87e46db43a299ea815acfaf03f6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:TruBridgeRycanandOtherOutsourcingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic0e5871eb08e4d5cb61983f5950b46a6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cpsi:TruBridgeRycanandOtherOutsourcingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i307fc3d65df74d78b8f27d9a56d2a6d2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="idefb735c8ded4a32bde065be3f7e28fe_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i49510c27dc9a48ebab0f4bdf515a6d9a_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i8058d01dccac498f872f7e6ff309021b_D20220301-20220301">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpsi:HealthcareResourceGroupIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2022-03-01</endDate>
        </period>
    </context>
    <context id="i9f318f4174c44b08bf9c6fd34db63b56_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i3bcc10c17f7d43b0ac51136bd8956f60_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ic5469b8ecd8f494a87edad3b2ac4b93a_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie2399265c8674996aa82fdb87d6fe9ee_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iafa093836b8a4b1894776ab8850014fe_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iee586bdc51aa4f27a0306ae06003ea57_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if5c511157e3c4b42ac89d7789ab56c81_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8e26f510fe624e779ee96e79177b2314_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i5a9c5ff7a4d8450f8f48e1de56002971_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5e2f81ad4914429aa8c24f6aff455565_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i835f5ffe75af457f82d7be967e4038d6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7a9283acfbf843a6afb93ca0a5acd410_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if4c975bd975c4feb9e38c4503703ce63_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if06dd002edf2474db0d4d72d9d89a505_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001169445</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">cpsi:AllowanceForCreditLossesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="sqft">
        <measure>utr:sqft</measure>
    </unit>
    <unit id="segment">
        <measure>cpsi:segment</measure>
    </unit>
    <dei:DocumentFiscalYearFocus
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV80L2ZyYWc6YTdkOWQyMzkxNmFiNDMzYzgwYjNmZWIwZTEwYmFhZDMvdGFibGU6NTc1ZmI0NTdkYTVkNDIxMDlkNjYwNmU1NmViZjJmOTUvdGFibGVyYW5nZTo1NzVmYjQ1N2RhNWQ0MjEwOWQ2NjA2ZTU2ZWJmMmY5NV8xLTEtMS0xLTE4Njg5_231ecbca-5d77-41d8-be3f-010da6818e98">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV80L2ZyYWc6YTdkOWQyMzkxNmFiNDMzYzgwYjNmZWIwZTEwYmFhZDMvdGFibGU6NTc1ZmI0NTdkYTVkNDIxMDlkNjYwNmU1NmViZjJmOTUvdGFibGVyYW5nZTo1NzVmYjQ1N2RhNWQ0MjEwOWQ2NjA2ZTU2ZWJmMmY5NV8yLTEtMS0xLTE4Njg5_630fe174-0e39-48ae-865c-a5c243e71a09">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV80L2ZyYWc6YTdkOWQyMzkxNmFiNDMzYzgwYjNmZWIwZTEwYmFhZDMvdGFibGU6NTc1ZmI0NTdkYTVkNDIxMDlkNjYwNmU1NmViZjJmOTUvdGFibGVyYW5nZTo1NzVmYjQ1N2RhNWQ0MjEwOWQ2NjA2ZTU2ZWJmMmY5NV8zLTEtMS0xLTE4Njg5_b57ac27f-9cf4-4bf5-bebe-35f0eb64399d">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV80L2ZyYWc6YTdkOWQyMzkxNmFiNDMzYzgwYjNmZWIwZTEwYmFhZDMvdGV4dHJlZ2lvbjphN2Q5ZDIzOTE2YWI0MzNjODBiM2ZlYjBlMTBiYWFkM18yNg_2289ab68-d1a1-4aa0-aa8b-fc4174861b46">0001169445</dei:EntityCentralIndexKey>
    <cpsi:RevenuePerformanceObligationDescriptionOfTiming1
      contextRef="i7ec240adbe214ae69b72897486213f92_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEyMjU1_9cf6cf15-0f35-4978-9dd4-6c7c8e333172">P3Y</cpsi:RevenuePerformanceObligationDescriptionOfTiming1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="if72a9e6387844f44955628d8a22a709a_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzE1MDI_77727322-af84-4fb8-9936-e10a3da6d6c2">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <cpsi:FinancingReceivableTerm
      contextRef="i820512a48d1743408593315fdf1b70d7_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzI0MQ_7e7d4c17-971e-4d74-8af9-39fd108f1189">P3M</cpsi:FinancingReceivableTerm>
    <cpsi:FinancingReceivableTerm
      contextRef="i9bb00e874d3e4768884b0370eec29492_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzE2MzE_f4fadd3a-fc0c-450b-bdb7-8b9e189daf6d">P2Y</cpsi:FinancingReceivableTerm>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i82de15842fe341b6a9773eb86164746c_D20200616-20200616"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzIvZnJhZzo0ODk3N2Q4MzgxNDE0NTVlOGYxNmE3MjZjMTk4Y2Y0Ny90ZXh0cmVnaW9uOjQ4OTc3ZDgzODE0MTQ1NWU4ZjE2YTcyNmMxOThjZjQ3XzQz_621d7e9d-4d19-4ea4-8a83-41cd946acfda"
      unitRef="number">0.005</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_11044054-b20b-4e64-84db-2255f5137354">http://fasb.org/us-gaap/2021-01-31#OtherAccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_a06dcfd3-4852-44f1-b934-aaacbec8f4c5">http://fasb.org/us-gaap/2021-01-31#OtherAccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <dei:DocumentType
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN184NA_ac676046-d9c7-4782-8d2c-e4410f0d21ae">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6OGVjNWFiZjIwMDRhNGFjN2ExM2RiOWFhN2Y4MjQ2OTIvdGFibGVyYW5nZTo4ZWM1YWJmMjAwNGE0YWM3YTEzZGI5YWE3ZjgyNDY5Ml8wLTAtMS0xLTE4Njg5L3RleHRyZWdpb246NmY4YjVlY2MxYjg1NGQ5YWE5MTU0ZDg4MmIyOWFiZGNfNA_c0569914-a494-4114-9f5f-4e76bc13132a">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18xMjI_7a815c72-a05a-4184-99fb-54b17848bd32">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18xMjI_8ca97a52-a0c0-4fce-83c0-ebddaa37b16b">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6ZjdmNmI4ZjlhNTA2NGFkNGIzMmQzNTA0ZjQzNDdlZjUvdGFibGVyYW5nZTpmN2Y2YjhmOWE1MDY0YWQ0YjMyZDM1MDRmNDM0N2VmNV8wLTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTcyMTQyMGRmMzE1NDhlYzhhZTY0ZGZlNGM2ZjNlN2NfNA_819111ce-26b6-465b-a8e9-c27ead91f842">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yMjA_6216bbd5-ef23-4028-acbe-ea19e50e6a29">000-49796</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yMjM_509ab7d0-c5e8-4aad-8658-f5714ccf64e2">COMPUTER PROGRAMS AND SYSTEMS, INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8wLTAtMS0xLTE4Njg5L3RleHRyZWdpb246OWY2NTEyY2RjYjE5NDNkNTlhZjA2NDZkMTU0MGY3MDZfNA_5733e166-12c5-439b-8c6e-75f0ea308a54">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8wLTItMS0xLTE4Njg5L3RleHRyZWdpb246NzZhNGNjYmUwMGI4NDEzZTk3YzgzMDIyM2M1NTA2YWRfNA_7941cff8-81d4-4917-85af-2e0bdb8059bc">74-3032373</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8zLTAtMS0xLTE4Njg5L3RleHRyZWdpb246N2M5NDM1Y2E4ZmQ0NGY4MWEyYzk3NDdiODNhMjQzZDhfNA_b0a44c5e-e25d-456b-8af3-839389f2f37e">54 St. Emanuel Street</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8zLTAtMS0xLTE4Njg5L3RleHRyZWdpb246N2M5NDM1Y2E4ZmQ0NGY4MWEyYzk3NDdiODNhMjQzZDhfOA_f0e4f48d-6398-4500-84d6-f36233e8bf6d">Mobile</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8zLTAtMS0xLTE4Njg5L3RleHRyZWdpb246N2M5NDM1Y2E4ZmQ0NGY4MWEyYzk3NDdiODNhMjQzZDhfMTI_185e6ef3-d01e-41c1-978d-ee253862b95e">AL</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6Mjk2Y2E1YjkxMTk2NGMwZmIxNGNiZWNjZTBlNjJiZTYvdGFibGVyYW5nZToyOTZjYTViOTExOTY0YzBmYjE0Y2JlY2NlMGU2MmJlNl8zLTItMS0xLTE4Njg5L3RleHRyZWdpb246ZGEyNjNmZGI4MTdlNDUwODhmMTA5YjcwZmM5OWVmZWNfNA_eb5395fa-f334-4d7f-bba2-07558dce031d">36602</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yODg_1d715cd3-250e-4de4-ab67-456afe5c8b32">251</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yOTI_5f25c3a6-4f30-4605-9b77-9b61cdbe8031">639-8100</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6YjQ5MWY1MGIzMjI3NGNlMmE0MTgxOWVkNmFiYjIxMzcvdGFibGVyYW5nZTpiNDkxZjUwYjMyMjc0Y2UyYTQxODE5ZWQ2YWJiMjEzN18xLTAtMS0xLTE4Njg5L3RleHRyZWdpb246Zjg3NTc4OGQwM2Y4NGE0MmE3MTRjMGI0YzQxNWM0YWFfNA_2ee0734e-b0b4-434a-9a85-4b391cd7244f">Common Stock, par value $.001 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6YjQ5MWY1MGIzMjI3NGNlMmE0MTgxOWVkNmFiYjIxMzcvdGFibGVyYW5nZTpiNDkxZjUwYjMyMjc0Y2UyYTQxODE5ZWQ2YWJiMjEzN18xLTEtMS0xLTE4Njg5L3RleHRyZWdpb246YmVjYmUzZTdmZDY2NGY4ZDg3NzI2NzFjMDBiOTY4YjhfNA_c252bfe5-02ba-4d83-83ac-5c11c0104854">CPSI</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6YjQ5MWY1MGIzMjI3NGNlMmE0MTgxOWVkNmFiYjIxMzcvdGFibGVyYW5nZTpiNDkxZjUwYjMyMjc0Y2UyYTQxODE5ZWQ2YWJiMjEzN18xLTItMS0xLTE4Njg5L3RleHRyZWdpb246NzcxYjQ4ZWY1MGJjNGYwODgzMWY3YjVjN2VhYmZkOWJfNA_e6ae2805-5cad-4ef1-b6c9-292598353d25">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN182MDk_10eea804-082c-4621-a0bb-7a19b05363db">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN183NTM_6d112985-8b14-42e9-abc4-80a51cf2ba32">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18xMTA3_d105aa95-c9a8-4073-a26f-cda3520615df">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18xNDM0_533e048e-424e-4d33-8098-77ae8ace582e">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6ZDBiYWQ5ZTI5ZjAyNDI2MTgzZDQxOGNiNzc5YjljZGUvdGFibGVyYW5nZTpkMGJhZDllMjlmMDI0MjYxODNkNDE4Y2I3NzliOWNkZV8wLTQtMS0xLTE4Njg5L3RleHRyZWdpb246YTE1MjVkNTQwODNjNDlkMGE5NTA0ODFkOTlhYWZmYzNfNA_186e73b5-7829-4c66-9907-926a1d2141bd">Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6ZDBiYWQ5ZTI5ZjAyNDI2MTgzZDQxOGNiNzc5YjljZGUvdGFibGVyYW5nZTpkMGJhZDllMjlmMDI0MjYxODNkNDE4Y2I3NzliOWNkZV8xLTYtMS0xLTE4Njg5L3RleHRyZWdpb246MGUzZDcxYzFkNmY5NGZmMmI4OTRhOWUyNTc5MThhNjJfNQ_8a54fbd9-00ca-4102-bab5-5bcf1a30a2d3">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6ZDBiYWQ5ZTI5ZjAyNDI2MTgzZDQxOGNiNzc5YjljZGUvdGFibGVyYW5nZTpkMGJhZDllMjlmMDI0MjYxODNkNDE4Y2I3NzliOWNkZV8yLTItMS0xLTE4Njg5L3RleHRyZWdpb246NWY1NmRlNTY2OGRmNGM0Njg3YTQ3ZGJhZmMxMmU4NDNfNQ_8b2118bd-e41c-4975-9a18-72bcf60cede7">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGFibGU6ZDBiYWQ5ZTI5ZjAyNDI2MTgzZDQxOGNiNzc5YjljZGUvdGFibGVyYW5nZTpkMGJhZDllMjlmMDI0MjYxODNkNDE4Y2I3NzliOWNkZV80LTAtMS0xLTE4Njg5L3RleHRyZWdpb246ZTc3Y2I5NDA0OTZlNGVjM2EyYzZiNjgxODIwMjg5YWRfMzM4_1a9a4f0a-cbc2-44f3-9402-cf74babfd293">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18xOTIz_4c0c2fbf-7fb9-4b95-8608-feea19c4c0d8">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="i05745bcabd594d529e03b5a3f4a8bd28_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yMDQw_51846807-e1ea-471f-bc83-e24684e2ac43"
      unitRef="usd">407759614</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="id6e689a90f754916ab5348cc95023213_I20220314"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yMDg1_b1c3a5c5-440f-4486-99ef-11d2a2c324d4"
      unitRef="shares">14621905</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xL2ZyYWc6NjNiMjdjZDk4MjQ5NDNkOTliZGRkNzA2MjcyZTQzYjcvdGV4dHJlZ2lvbjo2M2IyN2NkOTgyNDk0M2Q5OWJkZGQ3MDYyNzJlNDNiN18yMzQ3_8347fb34-ca4e-40b9-a7b6-689d17241c04">Portions of the definitive Proxy Statement for the 2022 Annual Meeting of Stockholders are incorporated by reference into Part III of this report to the extent described herein.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMDMvZnJhZzplNzMxMWQ5MThkMzM0OGZmYTQ0MjkwNDEwYWVjZmJhNy90YWJsZTo3MzJhZmY0MzI2ODI0NDkyOTg1ODlmZWMzZTljN2IzNi90YWJsZXJhbmdlOjczMmFmZjQzMjY4MjQ0OTI5ODU4OWZlYzNlOWM3YjM2XzQtMC0xLTEtMjQ2MDkvdGV4dHJlZ2lvbjo4NzE1MmFiYmRlYzU0OTU4YjJhNzFmNWRmYTg3ODdkNV8yMTk5MDIzMjU1NzEz_cee1622e-d954-4377-858a-2de22deeed03">248</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTIvZnJhZzoxOTUwZjgxZjYzZGQ0MmFmYTJmZGE5NGIwODMwYzBiMy90YWJsZTo3NTkwNTYwN2YzYzE0ZDFiYjAxY2NlNmU2NGEwNjYzOS90YWJsZXJhbmdlOjc1OTA1NjA3ZjNjMTRkMWJiMDFjY2U2ZTY0YTA2NjM5XzAtMC0xLTEtMjU0MDQvdGV4dHJlZ2lvbjo2M2E3ZDc3ZjNiNGI0YzNmYWM2Yzk0OTk1YzA0NDNmNV8xMDk5NTExNjI3ODIw_7ef2b720-58ed-41fc-9983-d541476f8e3a">GRANT THORNTON LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTIvZnJhZzoxOTUwZjgxZjYzZGQ0MmFmYTJmZGE5NGIwODMwYzBiMy90YWJsZTo3NTkwNTYwN2YzYzE0ZDFiYjAxY2NlNmU2NGEwNjYzOS90YWJsZXJhbmdlOjc1OTA1NjA3ZjNjMTRkMWJiMDFjY2U2ZTY0YTA2NjM5XzQtMC0xLTEtMjU0MDU_668f07cc-7de5-49c9-bac8-247b995ac7a3">Atlanta, Georgia</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMtMS0xLTEtMTg2ODk_b9f878f4-b704-4f72-89a7-41f99179a40a"
      unitRef="usd">11431000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMtMy0xLTEtMTg2ODk_4b538714-9250-4c3a-a1bd-4b2848656a6e"
      unitRef="usd">12671000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzUtMC0xLTEtMTg2ODkvdGV4dHJlZ2lvbjpjNWVmNTNhMTM4NzU0MmJjOWRkMDg2MGQyYzRjMWFjOV82Mw_6e4f8287-6a22-423a-8d40-b1c4fb1656f2"
      unitRef="usd">1826000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzUtMC0xLTEtMTg2ODkvdGV4dHJlZ2lvbjpjNWVmNTNhMTM4NzU0MmJjOWRkMDg2MGQyYzRjMWFjOV83MA_1e6409c4-c73d-4290-bd41-cad2d115eea4"
      unitRef="usd">1701000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzUtMS0xLTEtMTg2ODk_4f367b17-3eeb-4273-afc6-891e4f6f004f"
      unitRef="usd">34431000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzUtMy0xLTEtMTg2ODk_10636d4e-9af7-4c48-8feb-c673be206309"
      unitRef="usd">32414000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:NotesAndLoansReceivableNetCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzYtMS0xLTEtMTg2ODk_a685523f-06da-4580-ab68-17ba66590234"
      unitRef="usd">6488000</us-gaap:NotesAndLoansReceivableNetCurrent>
    <us-gaap:NotesAndLoansReceivableNetCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzYtMy0xLTEtMTg2ODk_be41934c-3cb5-4fcd-94fa-50a61b4bef98"
      unitRef="usd">10821000</us-gaap:NotesAndLoansReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzctMS0xLTEtMTg2ODk_1a0492d0-17e5-4526-a0c9-391b8c55ba80"
      unitRef="usd">855000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzctMy0xLTEtMTg2ODk_6796be95-e58f-4fcd-8b15-7c49c7c614d8"
      unitRef="usd">1084000</us-gaap:InventoryNet>
    <us-gaap:PrepaidTaxes
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzktMS0xLTEtMTg2ODk_fc4b0fe7-c9da-4cdc-9cd9-9225651a5264"
      unitRef="usd">4599000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzktMy0xLTEtMTg2ODk_faa3ab80-2a18-45d4-9287-8432ac99e3c3"
      unitRef="usd">1789000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEwLTEtMS0xLTE4Njg5_7b1f3f56-0b7d-441a-ab64-76e12f8792be"
      unitRef="usd">11194000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEwLTMtMS0xLTE4Njg5_100744ec-0ae8-422c-9792-9f0273733d3a"
      unitRef="usd">8365000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzExLTEtMS0xLTE4Njg5_f518c2dd-7de4-4b1e-a4bb-de53feb4da40"
      unitRef="usd">68998000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzExLTMtMS0xLTE4Njg5_6db2ddd3-efe6-44d9-88b1-38517163c2c0"
      unitRef="usd">67144000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEyLTEtMS0xLTE4Njg5_3732bb3e-1abe-4ec8-a061-fc687263e214"
      unitRef="usd">11590000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEyLTMtMS0xLTE4Njg5_43add6dd-8f1b-41b6-bee5-e3990cf54682"
      unitRef="usd">13139000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEzLTEtMS0xLTE4Njg5_27ff84f8-e393-4758-b296-55f432eab588"
      unitRef="usd">11644000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzEzLTMtMS0xLTE4Njg5_2cc298a6-8e62-40d1-8916-b4eba55e58eb"
      unitRef="usd">3210000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE0LTEtMS0xLTE4Njg5_b11be657-ce71-49c0-b2b6-c55d913a220b"
      unitRef="usd">7097000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE0LTMtMS0xLTE4Njg5_85fa63ef-46e2-4775-a374-db32d7781675"
      unitRef="usd">6610000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:NotesAndLoansReceivableNetNoncurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE1LTEtMS0xLTE4Njg5_dcda030d-0ddf-415b-be5b-4257399b6d1a"
      unitRef="usd">7231000</us-gaap:NotesAndLoansReceivableNetNoncurrent>
    <us-gaap:NotesAndLoansReceivableNetNoncurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE1LTMtMS0xLTE4Njg5_304b3a65-c33f-482f-97e7-187b2f369247"
      unitRef="usd">11477000</us-gaap:NotesAndLoansReceivableNetNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE2LTEtMS0xLTE4Njg5_e389e22f-db46-4fa5-a802-f797cca1ede9"
      unitRef="usd">3874000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE2LTMtMS0xLTE4Njg5_fdcd33df-0f7d-4624-89db-3c2154e77881"
      unitRef="usd">2787000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE3LTEtMS0xLTE4Njg5_c117900a-e325-480d-8878-dce60369f54f"
      unitRef="usd">95203000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE3LTMtMS0xLTE4Njg5_5cb55b32-2503-4b4b-b106-a56af2be0912"
      unitRef="usd">71689000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:Goodwill
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE4LTEtMS0xLTE4Njg5_d58497cc-d52f-453a-8d8f-50481a4724f4"
      unitRef="usd">177713000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzE4LTMtMS0xLTE4Njg5_8803e519-6ddc-49a8-b276-5120a5520c3a"
      unitRef="usd">150216000</us-gaap:Goodwill>
    <us-gaap:Assets
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzIwLTEtMS0xLTE4Njg5_68821cb7-95f6-4f3a-8293-0c3893432452"
      unitRef="usd">383350000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzIwLTMtMS0xLTE4Njg5_d94f7d8d-a40b-48b5-aef4-02dbbd352101"
      unitRef="usd">326272000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzIzLTEtMS0xLTE4Njg5_ca49c05a-b225-4065-8ab8-237a1a7d5e2e"
      unitRef="usd">8079000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzIzLTMtMS0xLTE4Njg5_e02ef764-71bf-4636-9368-3c8577568b44"
      unitRef="usd">7716000</us-gaap:AccountsPayableCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI0LTEtMS0xLTE4Njg5_0e754137-aa99-4f8f-a2d9-d06257c256d5"
      unitRef="usd">4394000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI0LTMtMS0xLTE4Njg5_a0823931-96a5-4628-a1cc-5e3d60fbf387"
      unitRef="usd">3457000</us-gaap:LongTermDebtCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI1LTEtMS0xLTE4Njg5_ab637e23-255b-4489-8a65-a01c1f78036c"
      unitRef="usd">11529000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI1LTMtMS0xLTE4Njg5_46292167-840a-4a3a-b26a-03fa426c44e8"
      unitRef="usd">8130000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:AccruedVacationCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI2LTEtMS0xLTE4Njg5_7d1d6d84-f725-4e7b-9afd-548308cdb7b3"
      unitRef="usd">5262000</us-gaap:AccruedVacationCurrent>
    <us-gaap:AccruedVacationCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI2LTMtMS0xLTE4Njg5_51411a8c-c86d-4c00-b27d-0e39877eee82"
      unitRef="usd">5353000</us-gaap:AccruedVacationCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI4LTEtMS0xLTE4Njg5_a36935ea-512a-4bfe-b029-29c0973e6de8"
      unitRef="usd">17163000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI4LTMtMS0xLTE4Njg5_d170eb73-6bac-4540-babf-36cddc4dce0e"
      unitRef="usd">12786000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI5LTEtMS0xLTE4Njg5_dab011c1-05cb-430a-92b2-8044250e539f"
      unitRef="usd">46427000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzI5LTMtMS0xLTE4Njg5_273b4732-72d0-4b4f-8b35-26283bc0b756"
      unitRef="usd">37442000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMwLTEtMS0xLTE4Njg5_dd16b3d8-f0b0-4dbb-991f-76cfceb7f827"
      unitRef="usd">94966000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMwLTMtMS0xLTE4Njg5_3bcc23c5-523a-4ca4-b7f5-ba4ba47b0e2a"
      unitRef="usd">73360000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMxLTEtMS0xLTE4Njg5_04e6db53-ba3c-489e-a63b-4e12aa392bbc"
      unitRef="usd">5505000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMxLTMtMS0xLTE4Njg5_e53e77f1-4961-42da-b169-c93506abc800"
      unitRef="usd">5092000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMyLTEtMS0xLTE4Njg5_363d2b68-f29f-434d-8071-8bcefff4c259"
      unitRef="usd">13880000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMyLTMtMS0xLTE4Njg5_060292e0-472f-43c2-a375-fda4b157f2a3"
      unitRef="usd">10378000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:Liabilities
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMzLTEtMS0xLTE4Njg5_45e20ff0-8f6b-4b51-86df-ddef05e75fb6"
      unitRef="usd">160778000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzMzLTMtMS0xLTE4Njg5_2ea86336-6e37-4b74-a08c-1a170353dce4"
      unitRef="usd">126272000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfMTg_7ebc4764-e0c9-4be8-9bcd-bfdbb7f31a41"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfMTg_afcaefbc-a748-4b9a-845b-30c9a015026d"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfNDI_08066cd1-1bb5-422a-9bfe-e5351cc95f9a"
      unitRef="shares">30000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfNDI_183de5b5-8cd7-40b2-b856-74b64834edb0"
      unitRef="shares">30000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfNjQ_526e916e-6372-40f2-8920-36ce7376c208"
      unitRef="shares">14734000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfNjQ_adab44ab-d91c-40ac-b3fe-0ecf9268515f"
      unitRef="shares">14734000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfMTA2_46545c71-68d6-407a-987c-046c6272f778"
      unitRef="shares">14511000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTAtMS0xLTE4Njg5L3RleHRyZWdpb246OTNhYWQ1NzFjOGNlNDNjY2I3YmIwMGQ2YjUxZjEyYTVfMTA2_7aadd8c6-a44b-423c-8720-22601f352003"
      unitRef="shares">14511000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTEtMS0xLTE4Njg5_0765d28e-6dd1-45e5-88da-334bca683b83"
      unitRef="usd">15000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM1LTMtMS0xLTE4Njg5_56c06e8d-09bd-42ff-86c0-0f3bc7a2b7ba"
      unitRef="usd">15000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM2LTEtMS0xLTE4Njg5_56884b28-d79f-4b29-94e1-bcbde1b1928f"
      unitRef="usd">187079000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM2LTMtMS0xLTE4Njg5_8667edda-8103-49f2-939d-57b80a34f413"
      unitRef="usd">181622000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM4LTEtMS0xLTE4Njg5_81827bb5-f762-479d-9aba-fe765305c28b"
      unitRef="usd">38054000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM4LTMtMS0xLTE4Njg5_19cf60ff-ef56-402c-b734-687f0f34b964"
      unitRef="usd">19624000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockShares
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM5LTAtMS0xLTE4Njg5L3RleHRyZWdpb246Nzc1YzIzNTg1MjQ5NGU4NzgwNzI3YjVmNjg1NTkyZTZfMjA_3ca26089-6507-4319-a70d-2be52503165c"
      unitRef="shares">89000</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM5LTAtMS0xLTE4Njg5L3RleHRyZWdpb246Nzc1YzIzNTg1MjQ5NGU4NzgwNzI3YjVmNjg1NTkyZTZfNTU_e82a3f59-0b23-45a1-a150-3d315ceca383"
      unitRef="shares">47000</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM5LTEtMS0xLTE4Njg5_3bd5dd91-8461-4cd6-b933-bebf2372861d"
      unitRef="usd">2576000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzM5LTMtMS0xLTE4Njg5_a8354733-f0d9-4e5d-8d71-971de6b13833"
      unitRef="usd">1261000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzQwLTEtMS0xLTE4Njg5_0c53ffd7-223a-428d-879a-755cedc0640a"
      unitRef="usd">222572000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzQwLTMtMS0xLTE4Njg5_decdaaa3-9c1e-4d2f-82d7-d0d66244dff0"
      unitRef="usd">200000000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzQxLTEtMS0xLTE4Njg5_bf0768a7-092b-4d33-9a53-91df6caa914c"
      unitRef="usd">383350000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTUvZnJhZzo2NGE1YWE3MTI0NTU0YjQ0YWJmYjg0Yzc2MjAwMTA4Yy90YWJsZTo2OGU1ZDBhZjhjMWQ0MTg3YWQ4MTZhYzM5OTkzZWM1Mi90YWJsZXJhbmdlOjY4ZTVkMGFmOGMxZDQxODdhZDgxNmFjMzk5OTNlYzUyXzQxLTMtMS0xLTE4Njg5_70236a06-c1bb-441b-b03e-4cfdc8f42bec"
      unitRef="usd">326272000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c03f5a350164dcbb88151a9307a6efe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMtMS0xLTEtMTg2ODk_1b625020-1466-4f7e-95c0-d3a47dd8df40"
      unitRef="usd">143109000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i05a70aa5b9b94fd3bbf9a56289584148_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMtMy0xLTEtMTg2ODk_7971f3da-3a3a-48e0-a075-0447473a04c0"
      unitRef="usd">152954000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie7e2bfd4d0ab499386b43274469ef5d0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMtNS0xLTEtMTg2ODk_2238176f-065b-4117-b317-636175651122"
      unitRef="usd">165352000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i18c7be7656c24e6cb00dfab95139b68f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzQtMS0xLTEtMTg2ODk_108bfb85-71a0-4d6d-a199-b31459dcf561"
      unitRef="usd">137520000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0ae67a7678f9428da4168541bb76702a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzQtMy0xLTEtMTg2ODk_56f0d26b-6cef-44ea-bbd3-0362683c8fa9"
      unitRef="usd">111534000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i745fc6d60f45437b89444e5f20c3d2d4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzQtNS0xLTEtMTg2ODk_176275a8-eb73-4482-8464-aaba7c0e3921"
      unitRef="usd">109282000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzUtMS0xLTEtMTg2ODk_8b22062e-6c0b-49a5-9dba-2229d45e8681"
      unitRef="usd">280629000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzUtMy0xLTEtMTg2ODk_b3f8b4de-8e13-4f7d-9e57-a94e4833c2a3"
      unitRef="usd">264488000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzUtNS0xLTEtMTg2ODk_a0260ca6-a9cb-479c-aadf-248650a116ce"
      unitRef="usd">274634000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i6c03f5a350164dcbb88151a9307a6efe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzctMS0xLTEtMTg2ODk_89762d70-9b8d-45e0-bca2-41ad4e39b6bd"
      unitRef="usd">70664000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i05a70aa5b9b94fd3bbf9a56289584148_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzctMy0xLTEtMTg2ODk_a1ae58b3-25bb-4101-be78-e373fc18d5dd"
      unitRef="usd">69361000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie7e2bfd4d0ab499386b43274469ef5d0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzctNS0xLTEtMTg2ODk_2c00dc81-6e9c-4564-bb3e-0c12fb10f46e"
      unitRef="usd">73872000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i18c7be7656c24e6cb00dfab95139b68f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzgtMS0xLTEtMTg2ODk_f0f474a2-4e37-4f15-a30a-e13847cdf7ea"
      unitRef="usd">69083000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i0ae67a7678f9428da4168541bb76702a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzgtMy0xLTEtMTg2ODk_cffec735-3d9b-4438-9527-9b687f96f4c0"
      unitRef="usd">58881000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i745fc6d60f45437b89444e5f20c3d2d4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzgtNS0xLTEtMTg2ODk_b3e655ef-2f59-43e5-8f56-a62cc1b9e95b"
      unitRef="usd">56617000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzktMS0xLTEtMTg2ODk_61a6d826-e76f-41e0-9423-55baad15f5dd"
      unitRef="usd">139747000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzktMy0xLTEtMTg2ODk_0501d1cc-16ec-446a-91e1-30d02cc5c169"
      unitRef="usd">128242000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzktNS0xLTEtMTg2ODk_10b0cc30-16b0-42d3-8016-d97ad55d2362"
      unitRef="usd">130489000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEwLTEtMS0xLTE4Njg5_518bd31e-b6eb-435d-9d57-693c1234fef4"
      unitRef="usd">140882000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEwLTMtMS0xLTE4Njg5_fb388b9f-8bd3-48ad-9856-37cfec6facb1"
      unitRef="usd">136246000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEwLTUtMS0xLTE4Njg5_56ecf343-b631-42e6-9569-b9b2183ee8cc"
      unitRef="usd">144145000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEyLTEtMS0xLTE4Njg5_b1a78317-6624-4c65-bd94-cc5d5d5dcabc"
      unitRef="usd">30389000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEyLTMtMS0xLTE4Njg5_d9d3ae20-89c7-4f2a-ab9f-a9c197b09753"
      unitRef="usd">33457000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEyLTUtMS0xLTE4Njg5_20e0de2b-8792-4132-ac8e-4569af0ca6e3"
      unitRef="usd">36861000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEzLTEtMS0xLTE4Njg5_8c167baf-a6d1-4d8f-bc70-82d11ab3687d"
      unitRef="usd">21978000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEzLTMtMS0xLTE4Njg5_4fb97540-b41b-4757-aafb-6f3f55edc334"
      unitRef="usd">22835000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzEzLTUtMS0xLTE4Njg5_0fa688f7-8b38-4e5e-a7c3-8984b8c86c8f"
      unitRef="usd">26495000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE0LTEtMS0xLTE4Njg5_e10ecee8-d57b-4cba-bbee-9d11bb798f7b"
      unitRef="usd">50022000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE0LTMtMS0xLTE4Njg5_bc980b4d-1219-4d9c-883c-428eee9f1d6a"
      unitRef="usd">47479000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE0LTUtMS0xLTE4Njg5_2d8e1efd-1df4-4fe2-9256-4bdf9c3b7114"
      unitRef="usd">45200000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE1LTEtMS0xLTE4Njg5_4f50cffe-651e-4384-b32a-6d3506c2050a"
      unitRef="usd">13786000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE1LTMtMS0xLTE4Njg5_3dfb11c4-98b7-4daf-b0b8-e8dc2b954921"
      unitRef="usd">11421000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE1LTUtMS0xLTE4Njg5_7a4d349b-f615-41e6-ae0a-1ab1ba5a4e28"
      unitRef="usd">11006000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OperatingExpenses
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE3LTEtMS0xLTE4Njg5_0406789f-1997-487f-a78d-45a4de1f2f3f"
      unitRef="usd">116175000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE3LTMtMS0xLTE4Njg5_9eb4c767-c3de-4e3c-a789-e16a0bcfb4b6"
      unitRef="usd">115192000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE3LTUtMS0xLTE4Njg5_b0a6f7c8-5770-4735-bc5b-5868c04f720c"
      unitRef="usd">119562000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE4LTEtMS0xLTE4Njg5_fee61aa6-0583-4770-8e1e-2cf348bc8ccf"
      unitRef="usd">24707000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE4LTMtMS0xLTE4Njg5_69d5f0b8-fde4-4334-a230-dd9458bcfa4e"
      unitRef="usd">21054000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzE4LTUtMS0xLTE4Njg5_52ec3cce-386e-4c4a-8ecb-34e36624c6e5"
      unitRef="usd">24583000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncome
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIwLTEtMS0xLTE4Njg5_32a3b4b9-e92f-4db0-81d6-106cc83877b6"
      unitRef="usd">1529000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIwLTMtMS0xLTE4Njg5_d0272074-55e8-4477-a7e8-c310257a642d"
      unitRef="usd">1494000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIwLTUtMS0xLTE4Njg5_c056306a-0d3f-47e5-b1e6-34704ac43a69"
      unitRef="usd">807000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIxLTEtMS0xLTE4Njg5_5da65425-fa4d-40e4-b9e2-096aa796e2d6"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIxLTMtMS0xLTE4Njg5_2a7e0e45-ed9b-415b-aff4-08d0fe1c97ea"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIxLTUtMS0xLTE4Njg5_b7dabde3-39c1-45ea-978c-547c496d6d07"
      unitRef="usd">5000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIyLTEtMS0xLTE4Njg5_f9130499-bac3-401c-b706-e941bab71e60"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIyLTMtMS0xLTE4Njg5_1bfafa25-979e-4953-b83c-a1782a1889c2"
      unitRef="usd">-202000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIyLTUtMS0xLTE4Njg5_b8541f21-55c8-47ba-9d34-d7836b61faf9"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:InterestExpense
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIzLTEtMS0xLTE4Njg5_62249441-79c3-4c40-8922-ef3b06275847"
      unitRef="usd">3160000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIzLTMtMS0xLTE4Njg5_4bbaf63c-4d7f-4e8e-a3cb-897a7f0b2d00"
      unitRef="usd">3562000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzIzLTUtMS0xLTE4Njg5_49f6f198-62e7-4427-b629-675f99d27018"
      unitRef="usd">6694000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI0LTEtMS0xLTE4Njg5_98f0b786-8a6e-45be-bee4-04638034bd88"
      unitRef="usd">-1631000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI0LTMtMS0xLTE4Njg5_52ed904a-228b-4cb8-af16-90fd3adb391b"
      unitRef="usd">-2270000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI0LTUtMS0xLTE4Njg5_cb501292-c421-4acb-8882-e7a93bc94c73"
      unitRef="usd">-887000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI1LTEtMS0xLTE4Njg5_2b63abbf-f9be-4cef-959d-df3a52da2f3d"
      unitRef="usd">23076000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI1LTMtMS0xLTE4Njg5_8b93d81b-d347-4b05-ac08-d49f9e908328"
      unitRef="usd">18784000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI1LTUtMS0xLTE4Njg5_37bd45f5-0b58-4683-a4c2-93c001e596cf"
      unitRef="usd">23696000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI2LTEtMS0xLTE4Njg5_29a5f784-4853-4edd-a768-e62b39e57a3a"
      unitRef="usd">4646000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI2LTMtMS0xLTE4Njg5_86d02bde-f116-4c60-bfb6-28c93a56fd4c"
      unitRef="usd">4538000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI2LTUtMS0xLTE4Njg5_670c3555-5ebc-4f88-b0ff-a477081752b3"
      unitRef="usd">3228000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI3LTEtMS0xLTE4Njg5_a8030114-d27f-4606-b1ee-f80e9bfdf003"
      unitRef="usd">18430000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI3LTMtMS0xLTE4Njg5_7cae8fde-5c0d-40ea-a044-4e05593c766a"
      unitRef="usd">14246000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI3LTUtMS0xLTE4Njg5_e216f205-b844-4178-8b8e-a91480a5f977"
      unitRef="usd">20468000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI4LTEtMS0xLTE4Njg5_debae4e3-3df7-4a18-9462-cc4fd29de2a2"
      unitRef="usdPerShare">1.26</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI4LTMtMS0xLTE4Njg5_a49d76fe-a5bd-43c0-aa03-ed358cb15110"
      unitRef="usdPerShare">0.98</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI4LTUtMS0xLTE4Njg5_94dbba1f-5a4b-4f61-a8d3-6a8d40b582d2"
      unitRef="usdPerShare">1.43</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI5LTEtMS0xLTE4Njg5_b06979e3-6da1-4b82-8049-c645c4b7a179"
      unitRef="usdPerShare">1.26</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI5LTMtMS0xLTE4Njg5_5b386886-e2e8-4aa9-b28f-9db8a1844ed5"
      unitRef="usdPerShare">0.98</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzI5LTUtMS0xLTE4Njg5_1fa46428-9068-46c8-8e4b-0255ace1a339"
      unitRef="usdPerShare">1.43</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMxLTEtMS0xLTE4Njg5_8f8a02a4-4e30-4c4a-b56a-d505055a4698"
      unitRef="shares">14290000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMxLTMtMS0xLTE4Njg5_d90c3f6f-de80-4b10-a78b-465cb5298698"
      unitRef="shares">14038000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMxLTUtMS0xLTE4Njg5_22dde2d2-1dcf-4e14-a9da-ee8e2492eb6f"
      unitRef="shares">13778000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMyLTEtMS0xLTE4Njg5_9a468136-1ae1-49cf-b2a7-1285e3ea058d"
      unitRef="shares">14318000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMyLTMtMS0xLTE4Njg5_06107326-a8dc-4f35-893e-65c625a44d62"
      unitRef="shares">14038000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMTgvZnJhZzo2OTBiZTBhZWYxOWM0YjZmYTYzZDdkZGQ1ODkxMGVjMy90YWJsZTpiMWVhYmEyZDQ5YTU0ZGUwOTEwMDQ0MjdjMzZhMzNmNy90YWJsZXJhbmdlOmIxZWFiYTJkNDlhNTRkZTA5MTAwNDQyN2MzNmEzM2Y3XzMyLTUtMS0xLTE4Njg5_0258c276-88b5-40f4-907a-526da73385e6"
      unitRef="shares">13778000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesIssued
      contextRef="i6289b71ef8884ed18903d1e7e8697572_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTEtMS0xLTE4Njg5_01dcf539-4528-4d97-9c6f-e14ebdd62a4a"
      unitRef="shares">14083000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i6289b71ef8884ed18903d1e7e8697572_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTMtMS0xLTE4Njg5_ff37b3eb-2120-411e-bdae-08a45d66818a"
      unitRef="usd">14000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id6ee606e4ff34ae19a0e97f328de9dc7_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTUtMS0xLTE4Njg5_749d7fdf-c134-4bd2-bb4f-890fd726fb7b"
      unitRef="usd">164793000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6eedb6f3dea941ef924d7276771d7f45_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTktMS0xLTE4Njg5_3ab1eb1a-c0a9-43aa-b2af-3e881c96b17c"
      unitRef="usd">-5024000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8aba27fdc79045019baacfd81483f76d_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTExLTEtMS0xODY4OQ_39f47579-5753-4304-9d57-f602afcb9ef6"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iba34e02a99eb4a77a9abd132b80fd41a_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM1LTEzLTEtMS0xODY4OQ_03fef1b5-f4ca-4a99-8693-44f1e73708d5"
      unitRef="usd">159783000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i438e17be21934556a24852d84040cdc1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM2LTktMS0xLTE4Njg5_8201a5ce-453e-4dbc-8984-e2269886f221"
      unitRef="usd">20468000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM2LTEzLTEtMS0xODY4OQ_c06c80c3-f2a0-4bfc-b7ce-2c767ef74d0a"
      unitRef="usd">20468000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i78d30715b9ff4950abf53cd91b6bbddf_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM3LTEtMS0xLTE4Njg5_2dcfb104-d9bc-4259-9555-7a492380772e"
      unitRef="shares">1000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i161f1a2c1f7d40c9bc3cd7765d34dc6e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM3LTUtMS0xLTE4Njg5_c08e017e-879e-4d40-bd65-5cfd968cdda2"
      unitRef="usd">3000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM3LTEzLTEtMS0xODY4OQ_aca0a03c-67bc-4ee4-aaa6-b6ff3a53fcf7"
      unitRef="usd">3000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i78d30715b9ff4950abf53cd91b6bbddf_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzM4LTEtMS0xLTE4Njg5_7cf61369-a72b-4c4a-8c03-7e9366dbb4a7"
      unitRef="shares">272000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i161f1a2c1f7d40c9bc3cd7765d34dc6e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQwLTUtMS0xLTE4Njg5_4ee88798-e407-423a-b9e8-6d1861a3483c"
      unitRef="usd">9822000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQwLTEzLTEtMS0xODY4OQ_7987d59d-f0d7-4b5a-98fe-e44ce2b1737b"
      unitRef="usd">9822000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:Dividends
      contextRef="i438e17be21934556a24852d84040cdc1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQxLTktMS0xLTE4Njg5_0b4e8bfd-5396-4724-ae1d-92a09bf82c9a"
      unitRef="usd">5729000</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQxLTEzLTEtMS0xODY4OQ_ea333971-65a0-49cc-8299-62f0cd0e4d4e"
      unitRef="usd">5729000</us-gaap:Dividends>
    <us-gaap:SharesIssued
      contextRef="i5bdf4e1213094d24bc30af4608ab1ab6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTEtMS0xLTE4Njg5_82935e8a-be42-47f3-b7c3-fd9d0403c1a9"
      unitRef="shares">14356000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i5bdf4e1213094d24bc30af4608ab1ab6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTMtMS0xLTE4Njg5_df128210-1754-4e6f-878e-8b9382f0ae59"
      unitRef="usd">14000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i03c4d80ea54b45e79405e772d3c33c35_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTUtMS0xLTE4Njg5_aff66690-f1c7-4b93-abae-7218ca7fc0a5"
      unitRef="usd">174618000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i28f393c50f5d4118b8aafcd0ceef0a48_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTktMS0xLTE4Njg5_a41c4e8a-b317-4293-83f8-a7e655d2165b"
      unitRef="usd">9715000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i80b932da804a4ed8b9574e3a636543e7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTExLTEtMS0xODY4OQ_4afb5490-c003-477a-8578-b811f88d7700"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iade483e7d2224faaba6643c762704fb8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQyLTEzLTEtMS0xODY4OQ_65e8d6d1-0ac8-4b66-beb1-49824f949e9f"
      unitRef="usd">184347000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i988c23bc2b6c4d6885cccece006a967c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQzLTktMS0xLTE4Njg5_8f579452-9d85-4ff2-93e1-c9cf5323a576"
      unitRef="usd">14246000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQzLTEzLTEtMS0xODY4OQ_4bef6d15-2648-40e0-b1a4-b2a27417f5da"
      unitRef="usd">14246000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i746f8c641c4e4628871b375360ebea34_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ1LTEtMS0xLTE4Njg5_eec27dc8-9bac-4d64-8096-3b8351296be2"
      unitRef="shares">156000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i746f8c641c4e4628871b375360ebea34_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ1LTMtMS0xLTE4Njg5_818ab8b2-7e7a-4a35-9153-a5b7977ab2ed"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="ib7d87517073c4ef080856d0864cc44d5_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ1LTUtMS0xLTE4Njg5_7104f4d3-daef-4a12-9fa9-13b5329b8899"
      unitRef="usd">-1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited
      contextRef="i746f8c641c4e4628871b375360ebea34_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ2LTEtMS0xLTE4Njg5_bd921cfc-3717-4c8e-8891-4c21a6a4ab00"
      unitRef="shares">1000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ib7d87517073c4ef080856d0864cc44d5_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ3LTUtMS0xLTE4Njg5_72298ce8-5827-40bf-830e-6f7126d9f036"
      unitRef="usd">7005000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ3LTEzLTEtMS0xODY4OQ_d0bff054-b627-473b-b777-6621e3db637e"
      unitRef="usd">7005000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="iabe727aa5b024239a8f88cbaa56f259b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ4LTExLTEtMS0xODY4OQ_f5cb555e-b0d0-4a2f-973d-cbdb81a6ed9b"
      unitRef="usd">1261000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ4LTEzLTEtMS0xODY4OQ_91a264a5-07f8-41c6-a56c-179ad911303a"
      unitRef="usd">1261000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:Dividends
      contextRef="i988c23bc2b6c4d6885cccece006a967c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ5LTktMS0xLTE4Njg5_547e1c08-ae20-4ef3-9be3-030058ab20af"
      unitRef="usd">4337000</us-gaap:Dividends>
    <us-gaap:Dividends
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzQ5LTEzLTEtMS0xODY4OQ_bf7176eb-4160-4821-8842-6c6dda82bf3e"
      unitRef="usd">4337000</us-gaap:Dividends>
    <us-gaap:SharesIssued
      contextRef="i372ccaaaabb64ec7b0184fe91bc0c66e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTEtMS0xLTE4Njg5_af18cf68-d7ec-4574-921b-b1130581701f"
      unitRef="shares">14511000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i372ccaaaabb64ec7b0184fe91bc0c66e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTMtMS0xLTE4Njg5_d4b7acc0-b38f-43b0-893a-2dbafbe6208f"
      unitRef="usd">15000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4b260f3389ec44cc836ffb3fe01ac7ee_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTUtMS0xLTE4Njg5_992af679-9345-4cc8-98d6-be4c97dfac59"
      unitRef="usd">181622000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iff782942cf60437782f74f9de6b582aa_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTktMS0xLTE4Njg5_7eafee18-32c5-4ac9-914d-ec696ac58cc5"
      unitRef="usd">19624000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ida9c8897ad9947d58f4864ed048f4cc3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTExLTEtMS0xODY4OQ_21e7f080-35c7-4e3f-8566-6c7d9968fdf8"
      unitRef="usd">-1261000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUwLTEzLTEtMS0xODY4OQ_4e0633c0-85be-4d34-8537-26cd29dd8140"
      unitRef="usd">200000000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="idd96f2e6ab4f4c0fbddb03bce1100899_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUxLTktMS0xLTE5NDE3_226f1124-c43f-462b-9031-9764042e43e8"
      unitRef="usd">18430000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUxLTEzLTEtMS0yNDA2OA_ced36222-a9f2-49a8-9d04-22ff70dc9892"
      unitRef="usd">18430000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i189b982ec82d4066a9da9cef2b3c2603_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzUzLTEtMS0xLTE5NDI1_50096559-30da-4f94-8d75-8fd4ca0936c8"
      unitRef="shares">229000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited
      contextRef="i189b982ec82d4066a9da9cef2b3c2603_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU0LTEtMS0xLTE5NDI1_f80d6bca-e995-492e-93cd-798d3d77dac5"
      unitRef="shares">6000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i40854906b1a84164b853e80f5ce75b40_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU1LTUtMS0xLTE5NDI1_f67432a4-f615-40b5-bf5c-844e824c6f64"
      unitRef="usd">5457000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU1LTEzLTEtMS0yNDA3Mw_3a336084-e32b-4599-a4ce-ef19a2ac48ff"
      unitRef="usd">5457000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ie3be8de809da487e916dc4d13609fa3d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU2LTExLTEtMS0xOTQzMg_8630dcfb-2e6a-4920-bee6-f9ca985cff0f"
      unitRef="usd">1315000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU2LTEzLTEtMS0yNDA3Mw_298d2729-cfb5-4e91-9fae-6c151f59dae2"
      unitRef="usd">1315000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:SharesIssued
      contextRef="iaf7538eb0c9b4474aee9fc10bdcf72bc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTEtMS0xLTI0MDc3_dd567da1-e61f-40d1-97bd-b27b8d6e5c57"
      unitRef="shares">14734000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="iaf7538eb0c9b4474aee9fc10bdcf72bc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTMtMS0xLTI0MDc3_9d56a4cf-b913-4a5e-8907-0d21901f8075"
      unitRef="usd">15000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i660c77300a31443b809244dda2006fb8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTUtMS0xLTI0MDc3_20c30bf6-20a2-49ec-bcd8-3b5cb5a73fba"
      unitRef="usd">187079000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i97049eb4e2d34ed7b632ec15d0da61a1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTktMS0xLTI0MDc3_55be42ec-ea71-4b50-a3f7-aa811cf688d1"
      unitRef="usd">38054000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3235e161e0a8448c8112368fd1541e43_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTExLTEtMS0yNDA3Nw_f92157d6-0204-4267-b5c9-2531f922b969"
      unitRef="usd">-2576000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjEvZnJhZzo5MDY4NDFjNDc2NjQ0M2RjOTllYzQ0ZDkxNWFmYTk2OS90YWJsZTpkNDA1OTUyNWUzYTk0NmU1YWFmMmQ3NDlhMmVhMzA4My90YWJsZXJhbmdlOmQ0MDU5NTI1ZTNhOTQ2ZTVhYWYyZDc0OWEyZWEzMDgzXzU3LTEzLTEtMS0yNDA3Nw_245622b2-28db-44df-90d6-e071f9697540"
      unitRef="usd">222572000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMtMS0xLTEtMTg2ODk_d5c21935-7dc5-4bf4-9620-8ffb81ebd19d"
      unitRef="usd">18430000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMtMy0xLTEtMTg2ODk_75825dd0-3d56-43fe-8851-9c64efed111e"
      unitRef="usd">14246000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMtNS0xLTEtMTg2ODk_0750e107-340e-4613-be1c-f5957c7e6f0f"
      unitRef="usd">20468000</us-gaap:NetIncomeLoss>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzUtMS0xLTEtMTg2ODk_42eb6dc2-63ae-4031-a533-c14cf8eb7a05"
      unitRef="usd">2592000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzUtMy0xLTEtMTg2ODk_83892618-c51b-4446-8f2b-27de1579e1c9"
      unitRef="usd">4370000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzUtNS0xLTEtMTg2ODk_988f9235-6dd5-49c2-b9c7-ea64ffe8dcab"
      unitRef="usd">2348000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzYtMS0xLTEtMTg2ODk_1ca0efdc-4970-4ff6-bcb7-68973e73c4cb"
      unitRef="usd">3502000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzYtMy0xLTEtMTg2ODk_ce769b0e-f820-4c3e-87b6-40e610ec879d"
      unitRef="usd">2755000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzYtNS0xLTEtMTg2ODk_09b8bd6e-00b6-4347-97bf-3843d90da2a9"
      unitRef="usd">1011000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ShareBasedCompensation
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzctMS0xLTEtMTg2ODk_8707ef96-3b37-4f1e-9db5-b628139d3b0d"
      unitRef="usd">5457000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzctMy0xLTEtMTg2ODk_3d51a53b-793a-4831-bd0d-3bda758c7941"
      unitRef="usd">7005000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzctNS0xLTEtMTg2ODk_6db049db-80af-407f-a46f-63d602f7029b"
      unitRef="usd">9822000</us-gaap:ShareBasedCompensation>
    <us-gaap:Depreciation
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzgtMS0xLTEtMTg2ODk_314b4a2c-5fbd-41df-8887-ac3f458c65d2"
      unitRef="usd">2156000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzgtMy0xLTEtMTg2ODk_841817c9-9d5f-425b-9468-9a5070d19d79"
      unitRef="usd">1790000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzgtNS0xLTEtMTg2ODk_4e6a5813-87b0-4663-b369-45e0f8aff698"
      unitRef="usd">1407000</us-gaap:Depreciation>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzktMS0xLTEtMTg2ODk_f8e66185-9e07-40e7-a810-e95046afe996"
      unitRef="usd">13786000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzktMy0xLTEtMTg2ODk_f5736be4-db11-4f98-8255-2edc14bf723c"
      unitRef="usd">11421000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzktNS0xLTEtMTg2ODk_d3920f68-b4c1-47b7-891c-3fe356bfe84b"
      unitRef="usd">11006000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEwLTEtMS0xLTE4Njg5_991bc4bb-41c5-4d43-b97c-c1e490ee592d"
      unitRef="usd">931000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEwLTMtMS0xLTE4Njg5_adec0073-84e7-4bf8-9531-3d7754b14afc"
      unitRef="usd">118000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEwLTUtMS0xLTE4Njg5_620a200b-17a3-49f5-9d68-570658641fdd"
      unitRef="usd">0</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzExLTEtMS0xLTE4Njg5_4e57bcb0-3c7c-480c-8891-0cac969573e8"
      unitRef="usd">293000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzExLTMtMS0xLTE4Njg5_eb22eda0-b13f-4c46-ae6d-ec59cec0aa2c"
      unitRef="usd">317000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzExLTUtMS0xLTE4Njg5_75de2f97-4339-4fc4-a99a-a6f21544817d"
      unitRef="usd">345000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEyLTEtMS0xLTE4Njg5_200ee45e-294a-4ce7-a97b-f9bdc2805118"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEyLTMtMS0xLTE4Njg5_0b03d0b1-b52f-4d09-8740-fd95a06d0e97"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzEyLTUtMS0xLTE4Njg5_5af19ad2-0f63-4881-b012-554fe45545cf"
      unitRef="usd">5000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE0LTEtMS0xLTE4Njg5_102f6fab-c776-442f-bab9-b3ea204c21d3"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE0LTMtMS0xLTE4Njg5_10709dc9-789e-4092-8c21-07c5ef135030"
      unitRef="usd">-202000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE0LTUtMS0xLTE4Njg5_69ef2a2d-cedd-49c0-adeb-50ea4c6b6bcb"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE1LTEtMS0xLTE5NjEw_ca531630-5370-43b5-8d30-76c9bc3810b2"
      unitRef="usd">-313000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE1LTMtMS0xLTE5NjEz_04959360-7d73-431a-a113-1335bdf294d9"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE1LTUtMS0xLTIyMzg4_4e946f0a-6642-4010-821e-e6a30101d7f0"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE2LTEtMS0xLTE4Njg5_56bef73a-ec6d-4bcc-b9c8-974ab43d9a77"
      unitRef="usd">3204000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE2LTMtMS0xLTE4Njg5_60b380a5-3f2f-40ed-8ea1-745467dec527"
      unitRef="usd">-3667000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE2LTUtMS0xLTE4Njg5_e82e98a6-8719-4b65-bf6e-f5e9b2eb1009"
      unitRef="usd">-641000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInFinanceReceivables
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE3LTEtMS0xLTE4Njg5_d3dc99f7-0105-48e5-8678-e1a2310dc4e6"
      unitRef="usd">-8098000</us-gaap:IncreaseDecreaseInFinanceReceivables>
    <us-gaap:IncreaseDecreaseInFinanceReceivables
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE3LTMtMS0xLTE4Njg5_368ad983-3450-4025-a1fd-036f90b31f39"
      unitRef="usd">-6369000</us-gaap:IncreaseDecreaseInFinanceReceivables>
    <us-gaap:IncreaseDecreaseInFinanceReceivables
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE3LTUtMS0xLTE4Njg5_a6b52c59-1546-4b14-a37c-708684099597"
      unitRef="usd">-3053000</us-gaap:IncreaseDecreaseInFinanceReceivables>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE4LTEtMS0xLTE4Njg5_3e36efef-a705-4096-8f2c-d6de1850c4a9"
      unitRef="usd">-229000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE4LTMtMS0xLTE4Njg5_c16905d6-591e-4f44-bb3b-1b0f1d0471f6"
      unitRef="usd">-342000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE4LTUtMS0xLTE4Njg5_5a865841-bc41-4564-8486-f3e09dd4606b"
      unitRef="usd">-72000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE5LTEtMS0xLTE4Njg5_9af27702-9529-4b20-9ff0-3d5c8704fafc"
      unitRef="usd">3914000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE5LTMtMS0xLTE4Njg5_adae619b-163c-4e63-b3cf-6793237cc4c4"
      unitRef="usd">3519000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzE5LTUtMS0xLTE4Njg5_1fb718f3-e95d-4b54-a6a4-22c2da1f50f6"
      unitRef="usd">1474000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIwLTEtMS0xLTE4Njg5_6b134b28-802f-4239-acd7-4c8f0350adbd"
      unitRef="usd">-615000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIwLTMtMS0xLTE4Njg5_f43e07f9-50ff-4454-b71f-a6f120ce8823"
      unitRef="usd">-1088000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIwLTUtMS0xLTE4Njg5_8baa7c36-231a-4d60-90f3-ee97680c09fb"
      unitRef="usd">2542000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIxLTEtMS0xLTE4Njg5_31607b56-bc58-4026-91f3-6cd643cb185f"
      unitRef="usd">2099000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIxLTMtMS0xLTE4Njg5_af7c4039-ab5b-4cc0-aff3-a7d9c9693e30"
      unitRef="usd">-498000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIxLTUtMS0xLTE4Njg5_a47f0aa7-b569-4c1b-9cfd-ea45b7ba6e81"
      unitRef="usd">-2003000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIyLTEtMS0xLTE4Njg5_4848b4c7-e86d-46ba-85d7-5693bdb59d86"
      unitRef="usd">401000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIyLTMtMS0xLTE4Njg5_d0cc8e4e-b935-4cbf-ab12-01dba6f01095"
      unitRef="usd">2097000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIyLTUtMS0xLTE4Njg5_79f14ce6-8af1-4513-8949-0b840816e209"
      unitRef="usd">-1418000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIzLTEtMS0xLTE4Njg5_c3a2298d-fa2c-4746-b258-09afd7ba223c"
      unitRef="usd">-2810000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIzLTMtMS0xLTE4Njg5_d0369025-a303-4ff8-81fa-a5fd3e8b0366"
      unitRef="usd">-452000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzIzLTUtMS0xLTE4Njg5_282489d2-52e2-460f-a633-b4c790c2a2cc"
      unitRef="usd">782000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI0LTEtMS0xLTE4Njg5_54f09895-840d-4e0e-b55a-815199a56b67"
      unitRef="usd">47744000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI0LTMtMS0xLTE4Njg5_9f664a2b-1fbe-428a-aeaf-c5c6d5a1dd23"
      unitRef="usd">49142000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI0LTUtMS0xLTE4Njg5_24846aad-52c0-438b-abf8-1c0fbe0b7540"
      unitRef="usd">43602000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI2LTEtMS0xLTE4Njg5_67c40f67-7843-45b6-8f18-c95bc427eb8b"
      unitRef="usd">920000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI2LTMtMS0xLTE4Njg5_8b006e47-7b4e-4ac6-b11f-f03f5f997ca3"
      unitRef="usd">3336000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI2LTUtMS0xLTE4Njg5_fbc6a434-00be-4c8e-a516-295a74601ca7"
      unitRef="usd">1760000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI3LTEtMS0xLTE4Njg5_10c20392-82d0-45da-a4dc-e68bc526ba1e"
      unitRef="usd">59634000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI3LTMtMS0xLTE4Njg5_5a39e641-b631-4b75-8d6c-7ea0a28d223e"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI3LTUtMS0xLTE4Njg5_260d3943-bd8e-4251-9c2e-c748f17e0763"
      unitRef="usd">10733000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI4LTEtMS0xLTE4Njg5_22cce0c8-1c29-4a9d-9868-6e665fc2ff24"
      unitRef="usd">9365000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI4LTMtMS0xLTE4Njg5_f1637c9a-a87e-41f5-b205-29f9204ffe35"
      unitRef="usd">3328000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI4LTUtMS0xLTE4Njg5_2533d8bf-efe8-48f2-a5ca-255582a27855"
      unitRef="usd">0</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI5LTEtMS0xLTE4Njg5_a7b953dd-4313-464b-839a-fd2433998b59"
      unitRef="usd">-69919000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI5LTMtMS0xLTE4Njg5_f612a599-ee6b-4f59-86c2-9edae7f519c1"
      unitRef="usd">-6664000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzI5LTUtMS0xLTE4Njg5_81a0484f-e794-4a9d-af6f-a114df669474"
      unitRef="usd">-12493000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividends
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMxLTEtMS0xLTE4Njg5_b190b29d-da64-484d-ac68-06f124887ef4"
      unitRef="usd">0</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMxLTMtMS0xLTE4Njg5_8959f2d4-b07c-4d7c-8b41-a311af019450"
      unitRef="usd">4337000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMxLTUtMS0xLTE4Njg5_7c718d4c-3786-48ba-8ec5-8a6ad903e868"
      unitRef="usd">5729000</us-gaap:PaymentsOfDividends>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMyLTEtMS0xLTE4Njg5_0679968e-feaa-405d-a665-7964b8c94268"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMyLTMtMS0xLTE4Njg5_70679e94-847d-4ef1-9058-2be4c3aeaacc"
      unitRef="usd">64000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMyLTUtMS0xLTE4Njg5_05fecdff-1699-40a4-a71c-fe66a925e4c9"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMzLTEtMS0xLTE4Njg5_3cb22ee0-d0c4-4814-928f-611aaa9a8f0e"
      unitRef="usd">3750000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMzLTMtMS0xLTE4Njg5_6fad1267-c249-4d4a-aa68-65e195e52d7d"
      unitRef="usd">4069000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzMzLTUtMS0xLTE4Njg5_6e352013-6ad9-437e-aefc-902725ff8d7a"
      unitRef="usd">13609000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM0LTEtMS0xLTE4Njg5_820b6c59-57a2-48fb-a6d4-2ca622e00335"
      unitRef="usd">61000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM0LTMtMS0xLTE4Njg5_265da645-6578-47e8-b446-f9fbcc6a0993"
      unitRef="usd">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM0LTUtMS0xLTE4Njg5_decc7c2d-f165-4cac-8c72-a93dcd527309"
      unitRef="usd">11000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM1LTEtMS0xLTE4Njg5_648ccd82-18e4-449c-9076-28d51b3a6aa5"
      unitRef="usd">35000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM1LTMtMS0xLTE4Njg5_876c84fa-a816-4690-94d3-4f2574638b78"
      unitRef="usd">27561000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM1LTUtMS0xLTE4Njg5_f6cd62ec-812a-4ec8-99e6-eefa617dc458"
      unitRef="usd">20693000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfOtherDebt
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM2LTEtMS0xLTE4Njg5_92cac8d6-66bf-45e4-820f-2996ee0cf77a"
      unitRef="usd">0</us-gaap:RepaymentsOfOtherDebt>
    <us-gaap:RepaymentsOfOtherDebt
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM2LTMtMS0xLTE4Njg5_059de56e-47d0-4ce1-82b4-88600b648f03"
      unitRef="usd">0</us-gaap:RepaymentsOfOtherDebt>
    <us-gaap:RepaymentsOfOtherDebt
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM2LTUtMS0xLTE4Njg5_e2ae7843-71a1-46b9-87c5-7e249a6ed6cc"
      unitRef="usd">250000</us-gaap:RepaymentsOfOtherDebt>
    <cpsi:PaymentsofContingentConsideration
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM3LTEtMS0xLTE4Njg5_4e614d36-a3ae-44e2-8679-8937856b16e8"
      unitRef="usd">0</cpsi:PaymentsofContingentConsideration>
    <cpsi:PaymentsofContingentConsideration
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM3LTMtMS0xLTE4Njg5_18abc381-e1a5-48f7-8479-652bacc8b788"
      unitRef="usd">0</cpsi:PaymentsofContingentConsideration>
    <cpsi:PaymentsofContingentConsideration
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM3LTUtMS0xLTE4Njg5_a9534267-b9ae-42d5-801b-6ea6108fbe07"
      unitRef="usd">206000</cpsi:PaymentsofContingentConsideration>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM4LTEtMS0xLTE4Njg5_84e2de0e-4d02-4298-a11c-720a3172dd5f"
      unitRef="usd">0</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM4LTMtMS0xLTE4Njg5_2ae39a2e-c803-4746-b9a3-089883353e03"
      unitRef="usd">0</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM4LTUtMS0xLTE4Njg5_c69ddecd-c3c3-4e5f-bd86-7dadb55a3b05"
      unitRef="usd">3000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM5LTEtMS0xLTE4Njg5_dab72f72-5234-4b4d-9436-7c6316255a84"
      unitRef="usd">1315000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM5LTMtMS0xLTE4Njg5_de751f78-8907-400a-a362-c33ba3398c40"
      unitRef="usd">1261000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzM5LTUtMS0xLTE4Njg5_210fc01b-9b7b-450a-80a7-e53703ea77a6"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQwLTEtMS0xLTE4Njg5_f77b7cff-98db-41f6-abd2-1c20f3335b77"
      unitRef="usd">20935000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQwLTMtMS0xLTE4Njg5_4a10f57d-d8e9-4b29-b3e2-40b57cdc979d"
      unitRef="usd">-37164000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQwLTUtMS0xLTE4Njg5_71aed4ad-4d58-403d-97dd-ec8b383d1e37"
      unitRef="usd">-29484000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQxLTEtMS0xLTE4Njg5_ce366025-90a7-475d-a0fa-dfa8ea8acb5a"
      unitRef="usd">-1240000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQxLTMtMS0xLTE4Njg5_ca9f2d19-93a2-4536-a6c2-0e5a8d681449"
      unitRef="usd">5314000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQxLTUtMS0xLTE4Njg5_a6adb991-0dfb-4d6f-ba3a-ed87dd4aa98e"
      unitRef="usd">1625000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQyLTEtMS0xLTE4Njg5_cb83c5dd-5a55-427d-a85d-656972cef50c"
      unitRef="usd">12671000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="iade483e7d2224faaba6643c762704fb8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQyLTMtMS0xLTE4Njg5_65a39b7e-0562-489f-90fd-5a4fff0f5744"
      unitRef="usd">7357000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="iba34e02a99eb4a77a9abd132b80fd41a_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQyLTUtMS0xLTE4Njg5_3c56562c-ba04-4b55-b9b6-4a008fe991e0"
      unitRef="usd">5732000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQzLTEtMS0xLTE4Njg5_8570b15f-8fe2-4031-80ba-3d4e4b1f8bdc"
      unitRef="usd">11431000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQzLTMtMS0xLTE4Njg5_99027058-8a14-461c-a008-d9f045e3f524"
      unitRef="usd">12671000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="iade483e7d2224faaba6643c762704fb8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZTplYTI1MTY3ZGQ3MDQ0NjBjODk1YjBhZjgzZTZiOTU0OC90YWJsZXJhbmdlOmVhMjUxNjdkZDcwNDQ2MGM4OTViMGFmODNlNmI5NTQ4XzQzLTUtMS0xLTE4Njg5_b51878e0-8d40-4ffe-a49b-76cdfcc8f7aa"
      unitRef="usd">7357000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzMtMS0xLTEtMTg2ODk_0b738ddf-d6d4-4fe3-b297-4ed0f7aab79d"
      unitRef="usd">2817000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzMtMy0xLTEtMTg2ODk_db1b1411-5e20-46b2-8291-92d9bad81411"
      unitRef="usd">3245000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzMtNS0xLTEtMTg2ODk_67bf002b-3447-4111-a36d-0bf440fa5f8e"
      unitRef="usd">6342000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzQtMS0xLTEtMTg2ODk_48360e9c-2535-40de-93a1-66b487bd50c1"
      unitRef="usd">3503000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzQtMy0xLTEtMTg2ODk_1b9523c9-6117-4568-8d8d-60ca80958473"
      unitRef="usd">2235000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzQtNS0xLTEtMTg2ODk_71f8396f-bb25-4c07-8b63-605ac14fbc40"
      unitRef="usd">3193000</us-gaap:IncomeTaxesPaidNet>
    <cpsi:WriteOffOfFullyDepreciatedAssets
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzYtMS0xLTEtMTg2ODk_60749783-baf8-4d66-b9d0-de7288783ace"
      unitRef="usd">0</cpsi:WriteOffOfFullyDepreciatedAssets>
    <cpsi:WriteOffOfFullyDepreciatedAssets
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzYtMy0xLTEtMTg2ODk_57a760f5-9074-4b8f-9a93-eba6a96cfbfa"
      unitRef="usd">1618000</cpsi:WriteOffOfFullyDepreciatedAssets>
    <cpsi:WriteOffOfFullyDepreciatedAssets
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMjQvZnJhZzpjOTg4NTY5ZDU5ZDc0ZTdhYWJhODViYmNhNGIzODQ2Ni90YWJsZToyODYyYzQyMDc0ZGE0ZDQyOTQ3ZWYxZjJjNTNkZDhmOS90YWJsZXJhbmdlOjI4NjJjNDIwNzRkYTRkNDI5NDdlZjFmMmM1M2RkOGY5XzYtNS0xLTEtMTg2ODk_5b5c0ac3-187f-4d1d-9801-73afd77280b9"
      unitRef="usd">0</cpsi:WriteOffOfFullyDepreciatedAssets>
    <us-gaap:NatureOfOperations
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzAvZnJhZzplMGIzNDRmMGUzMmQ0N2RiOTllMjIxMDUzYzkwZjExOC90ZXh0cmVnaW9uOmUwYjM0NGYwZTMyZDQ3ZGI5OWUyMjEwNTNjOTBmMTE4XzcwMw_d71903c5-1320-45dc-9c48-8a94666c96ba">NATURE OF OPERATIONSComputer Programs and Systems, Inc. ("CPSI" or the "Company") is a healthcare information technology solutions provider which was formed and commenced operations in 1979. The Company provides, on an integrated basis, enterprise-wide clinical management, access management, patient financial management, health information management, strategic decision support, resource planning management and enterprise application integration solutions to healthcare organizations throughout the United States. Additionally, CPSI provides other information technology solutions, including business management services, remote hosting, networking technologies and other related services.</us-gaap:NatureOfOperations>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE0_ebc8fc8a-555a-4d32-a202-ee0fc88d3e03">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Principles of Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The consolidated financial statements of CPSI include the accounts of TruBridge, LLC ("TruBridge"), Evident, LLC ("Evident"), iNetXperts, Corp. d/b/a Get Real Health ("Get Real Health"),  Healthland Holding Inc. ("HHI"), and TruCode, LLC ("TruCode"), all of which are wholly-owned subsidiaries of CPSI. The accounts of HHI include those of its wholly-owned subsidiaries, Healthland Inc. ("Healthland"), Rycan Technologies, Inc. ("Rycan"), and American HealthTech, Inc. ("AHT"). All significant intercompany balances and transactions have been eliminated.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash and cash equivalents can include time deposits and certificates of deposit with original maturities of three months or less that are highly liquid and readily convertible to a known amount of cash. These assets are stated at cost, which approximates market value, due to their short duration or liquid nature.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Change in Useful Lives of Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with its policy, the Company reviews the estimated useful lives of its intangible assets on an ongoing basis. This review indicated that the actual lives of certain developed technology were shorter than the estimated useful lives used for amortization purposes in the Company's financial statements. As a result, effective January 1, 2021, the Company changed its estimates of the useful lives of certain developed technology to better reflect the estimated periods during which these assets will remain in service. The remaining useful life of certain developed technology that was 3.25 years at January 1, 2021 was reduced to 2 years, while the remaining useful life of certain developed technology that was 4.25 years was reduced to 3 years. The effect of this change was to increase 2021 amortization expense by approximately $1.0&#160;million and decrease 2021 net income and basic and diluted earnings per share by $0.8&#160;million and $0.06, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Effective January 1, 2021, costs associated with our internal legal, compliance, and contract administration activities, which were formerly included within the caption &#x201c;Sales and marketing&#x201d; on our consolidated statements of operations, have been recorded as a component of &#x201c;General and administrative&#x201d; expenses.  Amounts presented for the years ended December 31, 2020 and 2019, have been reclassified to conform to the current presentation.  The following table provides the amount reclassified for the year ended December 31, 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.047%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As previously reported&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Re-classifications&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As reclassified&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,185&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,350)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides the amount reclassified for the year ended December 31, 2019:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.047%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As previously reported&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Re-classifications&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As reclassified&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,774&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,279)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,495&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable and Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Trade accounts receivable are stated at the amount the Company expects to collect and do not bear interest. The Company establishes a general allowance for credit losses based on collections history. In the case of a bankruptcy filing or other similar event indicating the collectability of specific customer accounts is no longer probable, a specific allowance for credit losses may be recorded to reduce the related receivable to the amount expected to be recovered.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Financing Receivables&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financing receivables are comprised of short-term payment plans and sales-type leases. Short-term payment plans are stated at the amount the Company expects to collect and do not bear interest. Sales-type leases are initially recorded at the present value of the related minimum lease payments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;An allowance for credit losses has been established for our financing receivables based on the historical level of customer defaults under such arrangements. In the case of a bankruptcy filing or other similar event indicating the collectability of specific customer accounts is no longer probable, a specific reserve may be recorded to reduce the related receivable to the amount expected to be recovered. Customer payments are considered past due if a scheduled payment is not received within contractually agreed upon terms, with amounts reclassified to accounts receivable when they become due. As a result, we evaluate the credit quality of our financing receivables on an ongoing basis utilizing an aging of receivables and write-offs, customer collection experience, the customer&#x2019;s financial condition and known risk characteristics impacting the respective customer base, as well as existing economic conditions, to determine if any further allowance is necessary. Amounts are specifically charged off once all available means of collection have been exhausted.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are stated at lower of cost or net realizable value using the average cost method. The Company&#x2019;s inventories are comprised of computer equipment, forms and supplies. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment is recorded at cost, less accumulated depreciation. Additions and improvements to property and equipment that materially increase productive capacity or extend the life of an asset are capitalized. Maintenance, repairs and minor renewals are expensed as incurred. Upon retirement or other disposition of such assets, the related costs and accumulated depreciation are removed from the respective accounts and any resulting gain or loss is included in the results of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation expense is computed using the straight-line method over the asset&#x2019;s useful life, which is generally 5 years for computer equipment, furniture, and fixtures and 30 years for buildings. Leasehold improvements are depreciated over the shorter of the asset&#x2019;s useful life or the remaining lease term. The Company reviews for the possible impairment of long-lived assets whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. Depreciation expense is reported in the consolidated statements of operations as a component of costs of sales and operating expenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We apply business combination accounting when we acquire a business. Business combinations are accounted for at fair value. The associated acquisition costs are expensed as incurred and recorded in general and administrative expenses; restructuring costs associated with a business combination are expenses; contingent consideration is measured at fair value at the acquisition date, with changes in fair value after the acquisition date affecting earnings; changes in deferred tax asset valuation allowances and income tax uncertainties after the measurement period affect income tax expense; and goodwill is determined as the excess of the fair value of the consideration conveyed in the acquisition over the fair value of the net &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;assets acquired. The accounting for business combinations requires estimates and judgments as to expectations for future cash flows of the acquired business, and the allocation of those cash flows to identifiable intangible assets, in determining the estimated fair value for assets and liabilities acquired. The fair values assigned to tangible and intangible assets acquired and liabilities assumed, are based on management's estimates and assumptions, including valuations that utilize customary valuation procedures and techniques. If the actual results differ from the estimates and judgments used in these estimates, the amounts recorded in the financial statements could result in a possible impairment of the intangible assets and goodwill, or require acceleration of the amortization expense of finite-lived intangible assets. The results of the acquired businesses' operations are included in the Consolidated Statements of Operations of the combined entity beginning on the date of the acquisition. We have applied this acquisition method to the transactions described in Note 3 - Business Combination.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is recorded as the difference, if any, between the aggregate consideration paid for an acquisition and the fair value of the identifiable net tangible and intangible assets acquired. Goodwill is not amortized but is evaluated for impairment annually or more frequently if indicators of impairment are present or changes in circumstances suggest that impairment may exist. We test annually for impairment as of October 1. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As part of our annual goodwill impairment test, we first assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. If we conclude that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, we conduct a quantitative goodwill impairment assessment, which compares the fair value of the reporting unit with its carrying amount, including goodwill. If the carrying amount of the reporting unit exceeds its fair value, an impairment charge is recognized for the amount by which the carrying amount exceeds the total amount of goodwill allocated to that reporting unit. If the fair value of the reporting unit exceeds its carrying amount, the goodwill of the reporting unit is not considered to be impaired. We determined there was no impairment to goodwill for the years ended December 31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Purchased Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Purchased intangible assets are acquired in connection with a business acquisition, and are amortized over their estimated useful lives based on the pattern of economic benefit expected from each asset. We concluded for certain purchased intangible assets that the pattern of economic benefit approximated the straight-line method, and therefore, the use of the straight-line method was appropriate, as the majority of the cash flows will be recognized ratably over the estimated useful lives and there is no degradation of the cash flows over time. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We assess the recoverability of intangible assets whenever events or changes in circumstances indicate that the carrying amount of the asset may not be recoverable. The carrying amount is not recoverable if it exceeds the undiscounted sum of cash flows expected to result from the use and eventual disposition of the asset. If the asset is not recoverable, the impairment loss is measured by the excess of the asset's carrying amount over its fair value. We determined there was no impairment to purchased intangible assets as of December 31, 2021, 2020 or 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized upon transfer of control of promised products or services to clients in an amount that reflects the consideration we expect to receive in exchange for those products and services. We enter into contracts that can include various combinations of products and services, which are generally distinct and accounted for as separate performance obligations. The Company employs the 5-step revenue recognition model under ASC 606, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revenue from Contracts with Customers,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; to: (1) identify the contract with the client, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when (or as) the entity satisfies a performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized net of shipping charges and any taxes collected from clients, which are subsequently remitted to governmental authorities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;System Sales and Support&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company enters into contractual obligations to sell perpetual software licenses, installation, conversion, and related training services, software application support, hardware, and hardware maintenance services to acute care community hospitals and post-acute providers. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Non-recurring Revenues&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Perpetual software licenses and installation, conversion, and related training services are not considered separate and distinct performance obligations due to the proprietary nature of our software and are, therefore, accounted for as a single performance obligation on a module-by-module basis. Revenue is recognized as each module's implementation is completed based on the module's stand-alone selling price ("SSP"), net of discounts. We determine each module's SSP using the residual method. Fees for licenses and installation, conversion, and related training services are typically due in three installments: (1) at placement of order, (2) upon installation of software and commencement of training, and (3) upon satisfactory completion of monthly accounting cycle or end-of-month operation by application and as applicable for each application. Often, short-term and/or long-term financing arrangements are provided for software implementations; refer to Note 11 - Financing Receivables for further information. Electronic health records ("EHR") implementations include a system warranty that terminates thirty days from the software go-live date, the date which the client begins using the system in a live environment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Hardware revenue is recognized separately from software licenses at the point in time it is delivered to the client. The SSP of hardware is cost plus a reasonable margin and revenue is recognized on a gross basis. Payment is generally due upon delivery of the hardware to the client. Standard manufacturer warranties apply to hardware.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Recurring Revenues&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Software application support and hardware maintenance services sold with software licenses and hardware are separate and distinct performance obligations. Revenue for support and maintenance services is recognized based on SSP, which is the renewal price, ratably over the life of the contract, which is generally &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEyMjU1_9cf6cf15-0f35-4978-9dd4-6c7c8e333172"&gt;three&lt;/span&gt; to five years. Payment is due monthly for support and maintenance services provided.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Subscriptions to third-party content revenue is recognized as a separate performance obligation ratably over the subscription term based on SSP, which is cost plus a reasonable margin, and revenue is recognized on a gross basis. Payment is due monthly for subscriptions to third party content.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Software as a Service ("SaaS") arrangements for EHR software and related conversion and training services are considered a single performance obligation. Revenue is recognized on a monthly basis as the SaaS service is provided to the client over the contract term. Payment is due monthly for SaaS services provided.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Refer to Note 18 - Segment Reporting for further information, including revenue by client base (acute care or post-acute care) bifurcated by recurring and non-recurring revenue.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;TruBridge&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;TruBridge provides an array of business processing services ("BPS") consisting of accounts receivable &#160;&#160;&#160;&#160;management, private pay services, insurance services, medical coding, electronic billing, statement processing, payroll processing, and contract management. Fees are recognized over the period of the client contractual relationship as the services are performed based on the SSP, net of discounts. SSP for TruBridge BPS services is determined based on observable stand-alone selling prices. Fees for many of these services are invoiced, and revenue recognized accordingly, based on the volume of transactions or a percentage of client accounts receivable collections. Payment is due monthly for BPS with certain amounts varying based on utilization and/or volumes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;TruBridge also provides professional IT services. Revenue from professional IT services is recognized as the services are performed based on SSP, which is determined by observable stand-alone selling prices. Payment is due monthly as services are performed. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lastly, TruBridge also provides certain software solutions and related support under SaaS arrangements and time-based software licenses.  Revenue from SaaS arrangements is recognized in a manner consistent with SaaS arrangements for EHR software, as discussed above.  Revenue from time-based software licenses is recognized upon delivery to the client (&#x201c;point in time&#x201d;) and revenue from non-license components (i.e., support) is &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;recognized ratably over the respective contract term (&#x201c;over time&#x201d;). SSP for time-based licenses is determined using the residual approach, while the non-license component is based on cost plus reasonable margin.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Deferred Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenue represents amounts invoiced to clients for which the services under contract have not been completed and revenue has not been recognized, including annual renewals of certain software subscriptions and customer deposits for implementations to be performed at a later date. Revenue is recognized ratably over the life of the software subscriptions as services are provided and at the point-in-time when implementations have been completed.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details deferred revenue for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.304%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.608%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.303%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.283%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.306%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;For years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue recorded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less deferred revenue recognized as revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,294)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,005)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The deferred revenue recorded for years ended December 31, 2021 and 2020 is comprised primarily of the annual renewals of certain software subscriptions billed during the first quarter of each year and deposits collected for future EHR installations. The deferred revenue acquired resulted from the May 2021 acquisition of TruCode. The deferred revenue recognized as revenue during the years ended December 31, 2021 and 2020 is comprised primarily of the periodic recognition of annual renewals that were deferred until earned and deposits for future EHR installations that were deferred until earned.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Costs to Obtain and Fulfill a Contract with a Customer&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs to obtain a contract include the commission costs related to SaaS arrangements, which are capitalized and amortized ratably over the expected life of the customer. As a practical expedient, we generally recognize the incremental costs of obtaining a contract as an expense when incurred if the amortization period of the asset would have been one year or less, with the exception of commissions generated from TruBridge sales. TruBridge commissions, which are paid up to twelve months in advance, are capitalized and amortized over the prepayment period. Costs to obtain a contract are expensed within sales and marketing expenses in the accompanying consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract fulfillment costs related to the implementation of SaaS arrangements are capitalized and amortized ratably over the expected life of the customer. Costs to fulfill contracts consist of the payroll costs for the implementation of SaaS arrangements, including time for training, conversion, and installation that is necessary for the software to be utilized. Contract fulfillment costs are expensed within &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the caption "System sales and support - Cost of sales" in the accompanying consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs to obtain and fulfill contracts related to SaaS arrangements are included within the "Prepaid expenses and other" and "Other assets, net of current portion" line items on our consolidated balance sheets.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details costs to obtain and fulfill contracts with customers for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.187%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.955%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.102%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;For years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,439&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs to obtain and fulfill contracts capitalized&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less costs to obtain and fulfill contracts recognized as expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,936)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,421)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Significant Judgments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contracts with clients often include promises to transfer multiple products and services. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Judgment is required to determine SSP for each distinct performance obligation. We use observable SSP for items that are sold on a stand-alone basis to similarly situated clients at unit prices within a sufficiently narrow range. For performance obligations that are sold to different clients for a broad range of amounts, or for performance obligations that are never sold on a stand-alone basis, the residual method in determining SSP is applied and requires significant judgment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Allocating the transaction price, including estimating SSP of promised goods and services for contracts with discounts or variable consideration, may require significant judgment. Due to the short time frame of the implementation cycle, discount allocation is immaterial as revenue is recognized net of discounts within the same reporting period. In scenarios where the Company enters into a contract that includes both a software license and BPS or other services that are charged based on volume of services rendered, the Company allocates variable amounts entirely to a distinct good or service. The terms of the variable payment relate specifically to the entity&#x2019;s efforts to satisfy that performance obligation. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant judgment is required in determining the expected life of a customer, which is the amortization period for costs to obtain and fulfill a contract that have been capitalized. The Company determined that the expected life of the customer is not materially different from the initial contract term based on the characteristics of the SaaS offering.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Remaining Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Disclosures regarding remaining performance obligations are not considered material as the overwhelming majority of the Company's remaining performance obligations either (a) are related to contracts with an expected duration of one year or less, or (b) exhibit revenue recognition in the amount to which the Company has the right to invoice.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;       Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounts for stock-based compensation according to the provisions of ASC 718, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Compensation &#x2013; Stock Compensation&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which establishes accounting for stock-based awards exchanged for employee services. Accordingly, stock-based compensation cost is measured at the grant date based on the fair value of the award, and is recognized as an expense over the employee&#x2019;s or non-employee director&#x2019;s requisite service period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our software solutions are offered to our clients through both traditional perpetual licenses as well as SaaS delivery models.  Development costs associated with the certain solutions offered exclusively through a SaaS model are accounted for in accordance with ASC 350-40, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Internal Use Software&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.  All other client solution development costs are accounted for in accordance with ASC 985-20, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Costs of Software to be Sold, Leased, or Marketed&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under ASC 985-20, software development costs incurred in creating computer software solutions are expensed until technological feasibility has been established upon completion of a detailed program design or, in the absence of a detailed program design, upon completion of a product design and working model of the software product.  Thereafter, all software development costs incurred through the software&#x2019;s general release date are capitalized and subsequently recorded at the lower of amortized cost or net realizable value.  Capitalized costs are amortized based on the current and expected future revenue for each software solution with minimum annual amortization equal to the straight-line amortization over the estimated economic life of the solution, which is estimated to be five years.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under ASC 350-40, software development costs related to preliminary project activities and post-implementation and maintenance activities are expensed as incurred.  We capitalize direct costs related to application development activities that are probable to result in additional functionality.  Capitalized costs are amortized on a straight-line basis over five years. We test for impairment whenever events or changes in circumstances that could impact recoverability occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 5 - Software Development for further information relating to our software development costs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for income taxes in accordance with ASC 740, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. Under this topic, deferred income taxes are determined utilizing the asset and liability approach. This method gives consideration to the future tax consequences associated with differences between financial accounting and tax bases of assets and liabilities. The effect on the deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date. We recognize interest and penalties accrued related to unrecognized tax benefits in the consolidated statements of operations as a component of the provision for income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We also make a provision for uncertain income tax positions in accordance with the ASC 740, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. These provisions require that a tax position taken in a tax return be recognized in the financial statements when it is more likely than not (i.e., a likelihood of more than fifty percent) that the position would be sustained upon examination by tax authorities. A recognized tax position is then measured at the largest amount of benefit that is greater than fifty percent likely of being realized upon settlement. The topic also requires that changes in judgment that result in subsequent recognition, derecognition, or change in a measurement date of a tax position taken in a prior annual period (including any related interest and penalties) be recognized as a discrete item in the interim period in which the change occurs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Valuation allowances are recorded when, in the opinion of management, it is more likely than not that all or a portion of the deferred tax assets will not be realized. These valuation allowances can be impacted by changes in tax laws, changes to statutory tax rates, and future taxable income, and are based on our judgment, estimates, and assumptions.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in conformity with U.S. GAAP requires that management make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosures of contingent assets and liabilities at the date of the financial statements, and the reported revenues and expenses during the reporting periods. Actual results could differ from those estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment Reporting&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are identified as components of an enterprise about which separate discrete financial information is evaluated by the chief operating decision maker, which we refer to as the CODM, or decision-making group in assessing performance and making decisions regarding resource allocation. The Company has prepared operating segment information based on the manner in which management disaggregates the Company's operations for making internal operating decisions. For more information, see Note 18 - Segment Reporting.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;New Accounting Standards Adopted in 2021&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:19pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no new accounting standards required to be adopted in 2021 that would have a material impact on our consolidated financial statements. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;New Accounting Standards Yet to be Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:19pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:19pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We do not believe that any recently issued but not yet effective accounting standards, if adopted, would have a material impact on our consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzMy_b1ade1f4-89c4-46f6-8cf7-65eca267499d">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Principles of Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The consolidated financial statements of CPSI include the accounts of TruBridge, LLC ("TruBridge"), Evident, LLC ("Evident"), iNetXperts, Corp. d/b/a Get Real Health ("Get Real Health"),  Healthland Holding Inc. ("HHI"), and TruCode, LLC ("TruCode"), all of which are wholly-owned subsidiaries of CPSI. The accounts of HHI include those of its wholly-owned subsidiaries, Healthland Inc. ("Healthland"), Rycan Technologies, Inc. ("Rycan"), and American HealthTech, Inc. ("AHT"). All significant intercompany balances and transactions have been eliminated.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE1_7ff78506-2565-4826-85a6-f9c10d62377c">&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash and cash equivalents can include time deposits and certificates of deposit with original maturities of three months or less that are highly liquid and readily convertible to a known amount of cash. These assets are stated at cost, which approximates market value, due to their short duration or liquid nature.&lt;/span&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:IntangibleAssetsFiniteLivedPolicy
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM1ODk_885309d2-f9a7-40bc-b573-8825361258f6">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Change in Useful Lives of Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with its policy, the Company reviews the estimated useful lives of its intangible assets on an ongoing basis. This review indicated that the actual lives of certain developed technology were shorter than the estimated useful lives used for amortization purposes in the Company's financial statements. As a result, effective January 1, 2021, the Company changed its estimates of the useful lives of certain developed technology to better reflect the estimated periods during which these assets will remain in service. The remaining useful life of certain developed technology that was 3.25 years at January 1, 2021 was reduced to 2 years, while the remaining useful life of certain developed technology that was 4.25 years was reduced to 3 years. The effect of this change was to increase 2021 amortization expense by approximately $1.0&#160;million and decrease 2021 net income and basic and diluted earnings per share by $0.8&#160;million and $0.06, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsFiniteLivedPolicy>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1
      contextRef="ib0d4e466721e4851993fea764dd48e38_D20210101-20210101"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM2MTE_0c16b2c1-4441-4e13-8521-1d827341b76c">P3Y3M</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1
      contextRef="iad30fa0c200440a79279d9943444a481_D20210101-20210101"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM2NDk_ae2ba1b2-4d52-4b24-b19e-aeec626459a8">P2Y</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1
      contextRef="i81f41de3db3a4679b3676df5cff97128_D20210101-20210101"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM2NzI_ef429521-8460-456d-bed3-b69501816c88">P4Y3M</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1
      contextRef="i2f293cd124844e6698cb14311e883625_D20210101-20210101"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM2OTA_e1cbbed0-3a12-4209-b2d9-e1b09dd29b70">P3Y</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="if8ccc001a0c048f79fe279167835d4c6_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM2OTY_992cfe4b-401c-4bc1-bf02-459a56d4ebf7"
      unitRef="usd">1000000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:NetIncomeLoss
      contextRef="if8ccc001a0c048f79fe279167835d4c6_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM3MTA_12da816c-6981-45fb-9f84-bf9c835041b0"
      unitRef="usd">-800000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareDiluted
      contextRef="if8ccc001a0c048f79fe279167835d4c6_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM3Mjc_bb2610c0-dd76-4d61-b720-19af4a2a4a46"
      unitRef="usdPerShare">-0.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="if8ccc001a0c048f79fe279167835d4c6_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM3Mjc_ce62ea32-27b7-419a-8aca-b929d2777ba0"
      unitRef="usdPerShare">-0.06</us-gaap:EarningsPerShareBasic>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM1OTA_196ed95e-9750-447d-915d-2d4886c18590">PresentationEffective January 1, 2021, costs associated with our internal legal, compliance, and contract administration activities, which were formerly included within the caption &#x201c;Sales and marketing&#x201d; on our consolidated statements of operations, have been recorded as a component of &#x201c;General and administrative&#x201d; expenses.  Amounts presented for the years ended December 31, 2020 and 2019, have been reclassified to conform to the current presentation.</us-gaap:PriorPeriodReclassificationAdjustmentDescription>
    <us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM1OTE_5261ace4-fda7-43f1-aa5e-1a0e5ef40cf2">The following table provides the amount reclassified for the year ended December 31, 2020:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.047%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As previously reported&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Re-classifications&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As reclassified&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,185&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,350)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides the amount reclassified for the year ended December 31, 2019:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.047%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As previously reported&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Re-classifications&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As reclassified&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,774&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,279)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,495&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i724b2edce52c456a99de6eb5015156e0_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzItMS0xLTEtMjQwOTU_b7b2b528-10ff-4243-955c-18254d42a4f7"
      unitRef="usd">24185000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ib8cc098f4999424aa09e32faba6b5fe9_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzItMy0xLTEtMjQwOTc_cc7d4ba4-d381-41b8-8916-3237c94e79ac"
      unitRef="usd">-1350000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzItNS0xLTEtMjQwOTk_d73b7dc1-a896-4c5b-8a58-7fb8e8399503"
      unitRef="usd">22835000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i724b2edce52c456a99de6eb5015156e0_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzMtMS0xLTEtMjQwOTU_f4edbe5b-e8a6-4773-ab08-b064e0ccdc0d"
      unitRef="usd">46129000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ib8cc098f4999424aa09e32faba6b5fe9_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzMtMy0xLTEtMjQwOTc_8ced111e-0c7d-4a8d-8e11-593277e55678"
      unitRef="usd">1350000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTpkNjQ3NjVkMzI1YjI0M2JhYTcyYmE4NmEzMDdiMzY5NS90YWJsZXJhbmdlOmQ2NDc2NWQzMjViMjQzYmFhNzJiYTg2YTMwN2IzNjk1XzMtNS0xLTEtMjQwOTk_3192444c-f056-4a60-816d-d7a2ee37c396"
      unitRef="usd">47479000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ie295800c8fa7470aa18873c906a7f7e5_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzItMS0xLTEtMjQxMDU_e4468063-09e6-4140-aead-1e022871540b"
      unitRef="usd">27774000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i17c48da9fdbe4e2aa718d56d6f7fcf95_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzItMy0xLTEtMjQxMDU_626b2aa8-f4e3-4709-b229-17229a08ed4d"
      unitRef="usd">-1279000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzItNS0xLTEtMjQxMDU_c85f7dca-a7b8-4694-99bd-c3cef645dc2c"
      unitRef="usd">26495000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ie295800c8fa7470aa18873c906a7f7e5_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzMtMS0xLTEtMjQxMDU_a59b9bd8-bc5f-4883-8eeb-3974bd3f6769"
      unitRef="usd">43921000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i17c48da9fdbe4e2aa718d56d6f7fcf95_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzMtMy0xLTEtMjQxMDU_f8b81de1-64df-4e10-9698-67b357c42bf0"
      unitRef="usd">1279000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZTo2NWYyZDRiYzQ3MTQ0ZWQ3OTlmMGJmMjhmMDgzODJlNi90YWJsZXJhbmdlOjY1ZjJkNGJjNDcxNDRlZDc5OWYwYmYyOGYwODM4MmU2XzMtNS0xLTEtMjQxMDU_ec34e3bd-6aef-462b-8000-6602dbee85e0"
      unitRef="usd">45200000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:CreditLossFinancialInstrumentPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzI0_d3f3f562-8ea3-48a4-84a0-1534fe1dba67">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable and Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Trade accounts receivable are stated at the amount the Company expects to collect and do not bear interest. The Company establishes a general allowance for credit losses based on collections history. In the case of a bankruptcy filing or other similar event indicating the collectability of specific customer accounts is no longer probable, a specific allowance for credit losses may be recorded to reduce the related receivable to the amount expected to be recovered.&lt;/span&gt;&lt;/div&gt;</us-gaap:CreditLossFinancialInstrumentPolicyTextBlock>
    <cpsi:FinancingReceivablesPolicyPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE2_073cde02-23af-4a81-ba01-2ecc25294c93">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Financing Receivables&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financing receivables are comprised of short-term payment plans and sales-type leases. Short-term payment plans are stated at the amount the Company expects to collect and do not bear interest. Sales-type leases are initially recorded at the present value of the related minimum lease payments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;An allowance for credit losses has been established for our financing receivables based on the historical level of customer defaults under such arrangements. In the case of a bankruptcy filing or other similar event indicating the collectability of specific customer accounts is no longer probable, a specific reserve may be recorded to reduce the related receivable to the amount expected to be recovered. Customer payments are considered past due if a scheduled payment is not received within contractually agreed upon terms, with amounts reclassified to accounts receivable when they become due. As a result, we evaluate the credit quality of our financing receivables on an ongoing basis utilizing an aging of receivables and write-offs, customer collection experience, the customer&#x2019;s financial condition and known risk characteristics impacting the respective customer base, as well as existing economic conditions, to determine if any further allowance is necessary. Amounts are specifically charged off once all available means of collection have been exhausted.&lt;/span&gt;&lt;/div&gt;</cpsi:FinancingReceivablesPolicyPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzI4_49511b92-8d1c-4839-b1a4-2399ff96a096">InventoriesInventories are stated at lower of cost or net realizable value using the average cost method. The Company&#x2019;s inventories are comprised of computer equipment, forms and supplies.</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzMz_beb6d775-2bc6-4b1a-8d79-87d07ac5f413">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment is recorded at cost, less accumulated depreciation. Additions and improvements to property and equipment that materially increase productive capacity or extend the life of an asset are capitalized. Maintenance, repairs and minor renewals are expensed as incurred. Upon retirement or other disposition of such assets, the related costs and accumulated depreciation are removed from the respective accounts and any resulting gain or loss is included in the results of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation expense is computed using the straight-line method over the asset&#x2019;s useful life, which is generally 5 years for computer equipment, furniture, and fixtures and 30 years for buildings. Leasehold improvements are depreciated over the shorter of the asset&#x2019;s useful life or the remaining lease term. The Company reviews for the possible impairment of long-lived assets whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. Depreciation expense is reported in the consolidated statements of operations as a component of costs of sales and operating expenses.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i5d37869fd9b247729baa4e447474047b_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzM5NDQ_1482bd93-a659-4dbf-9270-a4d88adb24d9">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i4a38d9a2f80e47618c1cfa72f305d4a5_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzM5NDQ_853747d4-3c1b-4738-a032-d84365ff05c4">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i035c17643efe4d4db4d3f8214f0473eb_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzM5OTk_ad7ca298-4987-4608-92fc-3826ceb268ae">P30Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzM0_da83ea03-202a-4554-b925-926f15ba18c5">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We apply business combination accounting when we acquire a business. Business combinations are accounted for at fair value. The associated acquisition costs are expensed as incurred and recorded in general and administrative expenses; restructuring costs associated with a business combination are expenses; contingent consideration is measured at fair value at the acquisition date, with changes in fair value after the acquisition date affecting earnings; changes in deferred tax asset valuation allowances and income tax uncertainties after the measurement period affect income tax expense; and goodwill is determined as the excess of the fair value of the consideration conveyed in the acquisition over the fair value of the net &lt;/span&gt;&lt;/div&gt;assets acquired. The accounting for business combinations requires estimates and judgments as to expectations for future cash flows of the acquired business, and the allocation of those cash flows to identifiable intangible assets, in determining the estimated fair value for assets and liabilities acquired. The fair values assigned to tangible and intangible assets acquired and liabilities assumed, are based on management's estimates and assumptions, including valuations that utilize customary valuation procedures and techniques. If the actual results differ from the estimates and judgments used in these estimates, the amounts recorded in the financial statements could result in a possible impairment of the intangible assets and goodwill, or require acceleration of the amortization expense of finite-lived intangible assets. The results of the acquired businesses' operations are included in the Consolidated Statements of Operations of the combined entity beginning on the date of the acquisition. We have applied this acquisition method to the transactions described in Note 3 - Business Combination.</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzI5_700a4360-fffe-4d7a-a6a1-1c3a89988ffa">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is recorded as the difference, if any, between the aggregate consideration paid for an acquisition and the fair value of the identifiable net tangible and intangible assets acquired. Goodwill is not amortized but is evaluated for impairment annually or more frequently if indicators of impairment are present or changes in circumstances suggest that impairment may exist. We test annually for impairment as of October 1. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As part of our annual goodwill impairment test, we first assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. If we conclude that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, we conduct a quantitative goodwill impairment assessment, which compares the fair value of the reporting unit with its carrying amount, including goodwill. If the carrying amount of the reporting unit exceeds its fair value, an impairment charge is recognized for the amount by which the carrying amount exceeds the total amount of goodwill allocated to that reporting unit. If the fair value of the reporting unit exceeds its carrying amount, the goodwill of the reporting unit is not considered to be impaired. We determined there was no impairment to goodwill for the years ended December 31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzc5MDg_06ba43e6-8351-4983-afd2-da87e633fd83"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzc5MDg_8b1fa0dc-0629-4fe9-addf-0914e484288d"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzc5MDg_a28cb43a-e547-4c30-bf64-32a8e69c32a0"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE3_a72ec728-6ea3-4830-8725-0bc1c01769b2">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Purchased Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Purchased intangible assets are acquired in connection with a business acquisition, and are amortized over their estimated useful lives based on the pattern of economic benefit expected from each asset. We concluded for certain purchased intangible assets that the pattern of economic benefit approximated the straight-line method, and therefore, the use of the straight-line method was appropriate, as the majority of the cash flows will be recognized ratably over the estimated useful lives and there is no degradation of the cash flows over time. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We assess the recoverability of intangible assets whenever events or changes in circumstances indicate that the carrying amount of the asset may not be recoverable. The carrying amount is not recoverable if it exceeds the undiscounted sum of cash flows expected to result from the use and eventual disposition of the asset. If the asset is not recoverable, the impairment loss is measured by the excess of the asset's carrying amount over its fair value. We determined there was no impairment to purchased intangible assets as of December 31, 2021, 2020 or 2019.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy>
    <us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill
      contextRef="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzkwNDY_26e291b5-6d93-41ac-b388-9786d7227967"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill
      contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzkwNDY_2c2266bd-4671-423b-8e7c-50a50a063a72"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill
      contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzkwNDY_f6410c1a-ab64-438a-9e7e-e6827ed2e917"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzMw_ba821af9-7d62-4ef0-abd0-4ea784e4711c">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized upon transfer of control of promised products or services to clients in an amount that reflects the consideration we expect to receive in exchange for those products and services. We enter into contracts that can include various combinations of products and services, which are generally distinct and accounted for as separate performance obligations. The Company employs the 5-step revenue recognition model under ASC 606, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revenue from Contracts with Customers,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; to: (1) identify the contract with the client, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when (or as) the entity satisfies a performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized net of shipping charges and any taxes collected from clients, which are subsequently remitted to governmental authorities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;System Sales and Support&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company enters into contractual obligations to sell perpetual software licenses, installation, conversion, and related training services, software application support, hardware, and hardware maintenance services to acute care community hospitals and post-acute providers. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Non-recurring Revenues&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Perpetual software licenses and installation, conversion, and related training services are not considered separate and distinct performance obligations due to the proprietary nature of our software and are, therefore, accounted for as a single performance obligation on a module-by-module basis. Revenue is recognized as each module's implementation is completed based on the module's stand-alone selling price ("SSP"), net of discounts. We determine each module's SSP using the residual method. Fees for licenses and installation, conversion, and related training services are typically due in three installments: (1) at placement of order, (2) upon installation of software and commencement of training, and (3) upon satisfactory completion of monthly accounting cycle or end-of-month operation by application and as applicable for each application. Often, short-term and/or long-term financing arrangements are provided for software implementations; refer to Note 11 - Financing Receivables for further information. Electronic health records ("EHR") implementations include a system warranty that terminates thirty days from the software go-live date, the date which the client begins using the system in a live environment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Hardware revenue is recognized separately from software licenses at the point in time it is delivered to the client. The SSP of hardware is cost plus a reasonable margin and revenue is recognized on a gross basis. Payment is generally due upon delivery of the hardware to the client. Standard manufacturer warranties apply to hardware.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:36pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Recurring Revenues&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Software application support and hardware maintenance services sold with software licenses and hardware are separate and distinct performance obligations. Revenue for support and maintenance services is recognized based on SSP, which is the renewal price, ratably over the life of the contract, which is generally &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEyMjU1_9cf6cf15-0f35-4978-9dd4-6c7c8e333172"&gt;three&lt;/span&gt; to five years. Payment is due monthly for support and maintenance services provided.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Subscriptions to third-party content revenue is recognized as a separate performance obligation ratably over the subscription term based on SSP, which is cost plus a reasonable margin, and revenue is recognized on a gross basis. Payment is due monthly for subscriptions to third party content.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Software as a Service ("SaaS") arrangements for EHR software and related conversion and training services are considered a single performance obligation. Revenue is recognized on a monthly basis as the SaaS service is provided to the client over the contract term. Payment is due monthly for SaaS services provided.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:99pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Refer to Note 18 - Segment Reporting for further information, including revenue by client base (acute care or post-acute care) bifurcated by recurring and non-recurring revenue.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;TruBridge&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;TruBridge provides an array of business processing services ("BPS") consisting of accounts receivable &#160;&#160;&#160;&#160;management, private pay services, insurance services, medical coding, electronic billing, statement processing, payroll processing, and contract management. Fees are recognized over the period of the client contractual relationship as the services are performed based on the SSP, net of discounts. SSP for TruBridge BPS services is determined based on observable stand-alone selling prices. Fees for many of these services are invoiced, and revenue recognized accordingly, based on the volume of transactions or a percentage of client accounts receivable collections. Payment is due monthly for BPS with certain amounts varying based on utilization and/or volumes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;TruBridge also provides professional IT services. Revenue from professional IT services is recognized as the services are performed based on SSP, which is determined by observable stand-alone selling prices. Payment is due monthly as services are performed. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lastly, TruBridge also provides certain software solutions and related support under SaaS arrangements and time-based software licenses.  Revenue from SaaS arrangements is recognized in a manner consistent with SaaS arrangements for EHR software, as discussed above.  Revenue from time-based software licenses is recognized upon delivery to the client (&#x201c;point in time&#x201d;) and revenue from non-license components (i.e., support) is &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;recognized ratably over the respective contract term (&#x201c;over time&#x201d;). SSP for time-based licenses is determined using the residual approach, while the non-license component is based on cost plus reasonable margin.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Deferred Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenue represents amounts invoiced to clients for which the services under contract have not been completed and revenue has not been recognized, including annual renewals of certain software subscriptions and customer deposits for implementations to be performed at a later date. Revenue is recognized ratably over the life of the software subscriptions as services are provided and at the point-in-time when implementations have been completed.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details deferred revenue for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.304%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.608%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.303%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.283%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.306%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;For years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue recorded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less deferred revenue recognized as revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,294)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,005)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The deferred revenue recorded for years ended December 31, 2021 and 2020 is comprised primarily of the annual renewals of certain software subscriptions billed during the first quarter of each year and deposits collected for future EHR installations. The deferred revenue acquired resulted from the May 2021 acquisition of TruCode. The deferred revenue recognized as revenue during the years ended December 31, 2021 and 2020 is comprised primarily of the periodic recognition of annual renewals that were deferred until earned and deposits for future EHR installations that were deferred until earned.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Costs to Obtain and Fulfill a Contract with a Customer&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs to obtain a contract include the commission costs related to SaaS arrangements, which are capitalized and amortized ratably over the expected life of the customer. As a practical expedient, we generally recognize the incremental costs of obtaining a contract as an expense when incurred if the amortization period of the asset would have been one year or less, with the exception of commissions generated from TruBridge sales. TruBridge commissions, which are paid up to twelve months in advance, are capitalized and amortized over the prepayment period. Costs to obtain a contract are expensed within sales and marketing expenses in the accompanying consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract fulfillment costs related to the implementation of SaaS arrangements are capitalized and amortized ratably over the expected life of the customer. Costs to fulfill contracts consist of the payroll costs for the implementation of SaaS arrangements, including time for training, conversion, and installation that is necessary for the software to be utilized. Contract fulfillment costs are expensed within &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the caption "System sales and support - Cost of sales" in the accompanying consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs to obtain and fulfill contracts related to SaaS arrangements are included within the "Prepaid expenses and other" and "Other assets, net of current portion" line items on our consolidated balance sheets.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details costs to obtain and fulfill contracts with customers for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.187%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.955%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.102%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;For years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,439&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs to obtain and fulfill contracts capitalized&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less costs to obtain and fulfill contracts recognized as expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,936)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,421)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Significant Judgments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contracts with clients often include promises to transfer multiple products and services. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Judgment is required to determine SSP for each distinct performance obligation. We use observable SSP for items that are sold on a stand-alone basis to similarly situated clients at unit prices within a sufficiently narrow range. For performance obligations that are sold to different clients for a broad range of amounts, or for performance obligations that are never sold on a stand-alone basis, the residual method in determining SSP is applied and requires significant judgment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Allocating the transaction price, including estimating SSP of promised goods and services for contracts with discounts or variable consideration, may require significant judgment. Due to the short time frame of the implementation cycle, discount allocation is immaterial as revenue is recognized net of discounts within the same reporting period. In scenarios where the Company enters into a contract that includes both a software license and BPS or other services that are charged based on volume of services rendered, the Company allocates variable amounts entirely to a distinct good or service. The terms of the variable payment relate specifically to the entity&#x2019;s efforts to satisfy that performance obligation. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant judgment is required in determining the expected life of a customer, which is the amortization period for costs to obtain and fulfill a contract that have been capitalized. The Company determined that the expected life of the customer is not materially different from the initial contract term based on the characteristics of the SaaS offering.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;padding-left:14.5pt"&gt;Remaining Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Disclosures regarding remaining performance obligations are not considered material as the overwhelming majority of the Company's remaining performance obligations either (a) are related to contracts with an expected duration of one year or less, or (b) exhibit revenue recognition in the amount to which the Company has the right to invoice.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <cpsi:RevenuePerformanceObligationDescriptionOfTiming1
      contextRef="i7eb4e2da22d347169aff5fce18c7c88a_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEyMjYx_6fe9b9bf-a683-4c8e-9c9d-301c1e5691f2">P5Y</cpsi:RevenuePerformanceObligationDescriptionOfTiming1>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzMx_9d334551-bc49-4f7b-9845-2c0d50017e75">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details deferred revenue for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.304%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.608%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.303%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.283%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.306%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;For years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue recorded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less deferred revenue recognized as revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,294)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,005)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiability
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzItMS0xLTEtMTg2ODk_8672515a-5687-4600-ab05-aa5e9ae1d768"
      unitRef="usd">8130000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="iade483e7d2224faaba6643c762704fb8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzItMy0xLTEtMTg2ODk_5ebcd819-cf80-4a0e-ae7d-5ad154e488da"
      unitRef="usd">8628000</us-gaap:ContractWithCustomerLiability>
    <cpsi:ContractWithCustomerLiabilityPeriodIncreaseDecrease
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzMtMS0xLTEtMTg2ODk_97f9320f-7b30-4dc4-8b26-83e43f39abee"
      unitRef="usd">23393000</cpsi:ContractWithCustomerLiabilityPeriodIncreaseDecrease>
    <cpsi:ContractWithCustomerLiabilityPeriodIncreaseDecrease
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzMtMy0xLTEtMTg2ODk_836dcd3b-ccc7-4f2d-b1c4-02a9c7484971"
      unitRef="usd">18507000</cpsi:ContractWithCustomerLiabilityPeriodIncreaseDecrease>
    <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzQtMS0xLTEtMTg2ODk_b5f0ef84-a202-4e90-b928-682c3cd40d96"
      unitRef="usd">1300000</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
    <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzQtMy0xLTEtMTg2ODk_5004b2d6-f486-4b16-8177-50868cd74ffe"
      unitRef="usd">0</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
    <cpsi:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzUtMS0xLTEtMTg2ODk_bbdbd7cb-c1c3-4eac-a4cf-f7a75456a386"
      unitRef="usd">21294000</cpsi:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized>
    <cpsi:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzUtMy0xLTEtMTg2ODk_ec584c18-c61b-41dd-9eae-10dfd5e0a17a"
      unitRef="usd">19005000</cpsi:ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized>
    <us-gaap:ContractWithCustomerLiability
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzYtMS0xLTEtMTg2ODk_1d64f9d1-ef37-472b-a888-5b4daa043ea2"
      unitRef="usd">11529000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToyNzRhNzBjMDQzOGE0YTJhOTVjZjFkMGQzOTVhZmUzYi90YWJsZXJhbmdlOjI3NGE3MGMwNDM4YTRhMmE5NWNmMWQwZDM5NWFmZTNiXzYtMy0xLTEtMTg2ODk_8f9379c9-941c-4f9c-8b92-3e636131354c"
      unitRef="usd">8130000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:CapitalizedContractCostTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE4_ff972ba3-5397-4a69-8f3e-c6b1ba607ae8">&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs to obtain and fulfill contracts related to SaaS arrangements are included within the "Prepaid expenses and other" and "Other assets, net of current portion" line items on our consolidated balance sheets.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:63pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details costs to obtain and fulfill contracts with customers for the years ended December 31, 2021 and 2020, included in the consolidated balance sheets:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.187%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.955%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.102%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;For years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,439&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs to obtain and fulfill contracts capitalized&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less costs to obtain and fulfill contracts recognized as expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,936)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,421)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:CapitalizedContractCostTableTextBlock>
    <us-gaap:CapitalizedContractCostNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzItMS0xLTEtMTg2ODk_366fbd48-9766-47c4-84b3-dff30e5a2c08"
      unitRef="usd">5992000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="iade483e7d2224faaba6643c762704fb8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzItMy0xLTEtMTg2ODk_7f273512-1fd3-46fe-bb6a-1c6b76d11899"
      unitRef="usd">4439000</us-gaap:CapitalizedContractCostNet>
    <cpsi:CostsToObtainAndFulfillContractsCapitalized
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzMtMS0xLTEtMTg2ODk_b97ceb4e-e616-4205-a875-b05fe3cad259"
      unitRef="usd">7256000</cpsi:CostsToObtainAndFulfillContractsCapitalized>
    <cpsi:CostsToObtainAndFulfillContractsCapitalized
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzMtMy0xLTEtMTg2ODk_a36f0ab7-5c1f-43b2-be68-73998255db00"
      unitRef="usd">6974000</cpsi:CostsToObtainAndFulfillContractsCapitalized>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzQtMS0xLTEtMTg2ODk_1d1553e5-6c46-4848-b7a0-6d4103659345"
      unitRef="usd">-5936000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzQtMy0xLTEtMTg2ODk_173df07e-ef1f-4fbb-9e7a-ff2d058989eb"
      unitRef="usd">-5421000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzUtMS0xLTEtMTg2ODk_c25c7108-0db0-4289-9e89-acf05d6041ee"
      unitRef="usd">7312000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90YWJsZToxZmQ1OWE3ZjE4MmE0ZDU4ODVlYjBlN2E1MzVhNDVjNC90YWJsZXJhbmdlOjFmZDU5YTdmMTgyYTRkNTg4NWViMGU3YTUzNWE0NWM0XzUtMy0xLTEtMTg2ODk_ef3893cb-034e-4d90-8750-fdbdaca1aabe"
      unitRef="usd">5992000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CompensationRelatedCostsPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzE5_c9476cee-2c32-46d4-8008-3ccb5a1787c7">Stock-Based Compensation&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounts for stock-based compensation according to the provisions of ASC 718, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Compensation &#x2013; Stock Compensation&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which establishes accounting for stock-based awards exchanged for employee services. Accordingly, stock-based compensation cost is measured at the grant date based on the fair value of the award, and is recognized as an expense over the employee&#x2019;s or non-employee director&#x2019;s requisite service period.&lt;/span&gt;</us-gaap:CompensationRelatedCostsPolicyTextBlock>
    <cpsi:InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzEz_a6e20cab-ca56-42d4-bba6-216831e3acd4">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our software solutions are offered to our clients through both traditional perpetual licenses as well as SaaS delivery models.  Development costs associated with the certain solutions offered exclusively through a SaaS model are accounted for in accordance with ASC 350-40, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Internal Use Software&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.  All other client solution development costs are accounted for in accordance with ASC 985-20, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Costs of Software to be Sold, Leased, or Marketed&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under ASC 985-20, software development costs incurred in creating computer software solutions are expensed until technological feasibility has been established upon completion of a detailed program design or, in the absence of a detailed program design, upon completion of a product design and working model of the software product.  Thereafter, all software development costs incurred through the software&#x2019;s general release date are capitalized and subsequently recorded at the lower of amortized cost or net realizable value.  Capitalized costs are amortized based on the current and expected future revenue for each software solution with minimum annual amortization equal to the straight-line amortization over the estimated economic life of the solution, which is estimated to be five years.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under ASC 350-40, software development costs related to preliminary project activities and post-implementation and maintenance activities are expensed as incurred.  We capitalize direct costs related to application development activities that are probable to result in additional functionality.  Capitalized costs are amortized on a straight-line basis over five years. We test for impairment whenever events or changes in circumstances that could impact recoverability occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 5 - Software Development for further information relating to our software development costs.&lt;/span&gt;&lt;/div&gt;</cpsi:InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="id64e1dd8939e448e88046c4c36f6f831_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM3NDU_1bd58bc3-c404-41fa-bdf4-f5db327edf06">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="id64e1dd8939e448e88046c4c36f6f831_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzEwOTk1MTE2NjM3NjE_1bd58bc3-c404-41fa-bdf4-f5db327edf06">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzIx_8c454551-974a-448d-9bb9-f0675ba7ff87">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for income taxes in accordance with ASC 740, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. Under this topic, deferred income taxes are determined utilizing the asset and liability approach. This method gives consideration to the future tax consequences associated with differences between financial accounting and tax bases of assets and liabilities. The effect on the deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date. We recognize interest and penalties accrued related to unrecognized tax benefits in the consolidated statements of operations as a component of the provision for income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We also make a provision for uncertain income tax positions in accordance with the ASC 740, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. These provisions require that a tax position taken in a tax return be recognized in the financial statements when it is more likely than not (i.e., a likelihood of more than fifty percent) that the position would be sustained upon examination by tax authorities. A recognized tax position is then measured at the largest amount of benefit that is greater than fifty percent likely of being realized upon settlement. The topic also requires that changes in judgment that result in subsequent recognition, derecognition, or change in a measurement date of a tax position taken in a prior annual period (including any related interest and penalties) be recognized as a discrete item in the interim period in which the change occurs.&lt;/span&gt;&lt;/div&gt;Valuation allowances are recorded when, in the opinion of management, it is more likely than not that all or a portion of the deferred tax assets will not be realized. These valuation allowances can be impacted by changes in tax laws, changes to statutory tax rates, and future taxable income, and are based on our judgment, estimates, and assumptions.</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzI2_4ee1e16e-bbb9-495f-85d2-fc40a134059b">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in conformity with U.S. GAAP requires that management make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosures of contingent assets and liabilities at the date of the financial statements, and the reported revenues and expenses during the reporting periods. Actual results could differ from those estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzIz_7682f53e-ee0e-4488-8d52-facafc34f8f5">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment Reporting&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are identified as components of an enterprise about which separate discrete financial information is evaluated by the chief operating decision maker, which we refer to as the CODM, or decision-making group in assessing performance and making decisions regarding resource allocation. The Company has prepared operating segment information based on the manner in which management disaggregates the Company's operations for making internal operating decisions. For more information, see Note 18 - Segment Reporting.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzMvZnJhZzpmYWQxMjc5MWMwNTY0OWI1YWZkNjI2NzEwMTdkNjE2Yy90ZXh0cmVnaW9uOmZhZDEyNzkxYzA1NjQ5YjVhZmQ2MjY3MTAxN2Q2MTZjXzIzMzI3_e014ee38-7bfc-4145-9eaf-96be00368c94">&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;New Accounting Standards Adopted in 2021&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:19pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no new accounting standards required to be adopted in 2021 that would have a material impact on our consolidated financial statements. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;New Accounting Standards Yet to be Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:19pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:19pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We do not believe that any recently issued but not yet effective accounting standards, if adopted, would have a material impact on our consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzQxMDA_33188d90-ac4b-43e4-b026-954de5e9f9b5">BUSINESS COMBINATION&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Acquisition of TruCode&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 12, 2021, we acquired all of the assets and liabilities of TruCode LLC, a Virginia limited liability company ("TruCode"), pursuant to a Stock Purchase Agreement dated May 12, 2021. Based in Alpharetta, Georgia, TruCode provides configurable, knowledge-based software that gives coders, clinical documentation improvement specialists and auditors the flexibility to code according to their knowledge, preferences and experience. The cloud-based medical coding solution is bundled with the TruBridge solutions and services to enhance revenue cycle performance for healthcare organizations of all sizes. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Consideration for the acquisition included cash (net of cash of the acquired entity) of $59.6&#160;million (inclusive of seller's transaction expenses), plus a contingent earnout payment of up to $15.0&#160;million tied to TruCode's earnings before interest, tax, depreciation, and amortization ("EBITDA") (subject to certain pro-forma adjustments) for the twelve- month period concluding on the anniversary date of the acquisition.  During 2021, we incurred approximately $0.9&#160;million of pre-tax &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;acquisition costs in connection with the acquisition of TruCode. Acquisition costs are included in general and administrative expenses in our consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our acquisition of TruCode was treated as a purchase in accordance with ASC 805, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which requires allocation of the purchase price to the estimated fair values of assets and liabilities acquired in the transaction. Our allocation of the purchase price was based on management's judgment after evaluating several factors, including a preliminary valuation assessment. Final settlement is pending related to acquired working capital and certain amounts due to third parties which remain in ongoing negotiations.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The allocation of the purchase price paid for TruCode was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.474%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchase Price Allocation&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable and accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,289)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contingent consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,500)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,300)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The intangible assets in the table above are being amortized on a straight-line basis over their estimated useful lives. The amortization is included in amortization of acquisition-related intangibles in our consolidated statements of operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value measurements of tangible and intangible assets and liabilities were based on significant inputs not observable in the market and thus represent Level 3 measurements within the fair value measurement hierarchy (see Note 17 - Fair Value). Level 3 inputs included, among others, discount rates that we estimated would be used by a market participant in valuing these assets and liabilities, projections of revenues and cash flows, client attrition rates and market comparables.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our consolidated statement of operations for the year ended December 31, 2021 includes revenues of approximately $7.1&#160;million, and pre-tax income of approximately $3.2&#160;million, attributed to the acquired business since the May 12, 2021 acquisition date.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following unaudited pro forma revenue, net income and earnings per share amounts for the years ended December 31, 2021 and 2020 give effect to the TruCode acquisition as if it had been completed on January 1, 2020. The pro forma financial information is presented for illustrative purposes only and is not necessarily indicative of what the operating results actually would have been during the periods presented had the TruCode acquisition been completed during the periods presented. In addition, the unaudited pro forma financial information does not purport to project future operating results. The pro forma information does not fully reflect: (1) any anticipated synergies (or costs to achieve synergies) or (2) the impact of non-recurring items directly related to the TruCode acquisition. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.778%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.557%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.629%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands, except per share data, unaudited)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pro forma revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;286,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;275,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pro forma net income &lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,635&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pro forma diluted earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pro forma net income was calculated by adjusting the results for the applicable period to reflect (i) the additional amortization that would have been charged assuming the fair value adjustments to intangible assets had been applied on &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;January 1, 2020 and (ii) adjustments to amortized revenue during fiscal 2021 and 2020 as a result of the acquisition date valuation of assumed deferred revenue. The pro forma results for each period also reflect the pro forma adjustment to interest expense as a result of utilizing revolver debt to finance the acquisition.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Acquisition of Get Real Health&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 3, 2019, we acquired all of the assets and liabilities of iNetXperts, Corp., a Maryland corporation doing business as Get Real Health (&#x201c;Get Real Health&#x201d;), pursuant to a Stock Purchase Agreement dated April 23, 2019, as amended on May 2, 2019. Based in Rockville, Maryland, Get Real Health delivers technology solutions to improve patient outcomes and engagement strategies with care providers. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Consideration for the acquisition included cash (net of cash of the acquired entity) of $10.8&#160;million (inclusive of seller's transaction expenses), plus a contingent earnout payment of up to $14.0&#160;million tied to Get Real Health's earnings before interest, tax, depreciation, and amortization ("EBITDA") (subject to certain pro-forma adjustments) for 2019. As of December 31, 2019, the $5.0&#160;million contingent consideration estimated in determining the acquisition purchase price was fully reversed as Get Real Health's earnings did not achieve the required level for earnout payment. During 2019, we incurred approximately $0.6&#160;million of pre-tax acquisition costs in connection with the acquisition of Get Real Health. Acquisition costs are included in general and administrative expenses in our consolidated statements of operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our acquisition of Get Real Health was treated as a purchase in accordance with ASC 805, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which requires allocation of the purchase price to the estimated fair values of assets and liabilities acquired in the transaction. Our allocation of the purchase price was based on management's judgment after evaluating several factors, including a valuation assessment.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The allocation of the purchase price paid for Get Real Health was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.474%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchase Price Allocation&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable and accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(594)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred taxes, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,736)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liability&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,285)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contingent consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(430)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The intangible assets in the table above are being amortized on a straight-line basis over their estimated useful lives. The amortization is included in amortization of acquisition-related intangibles in our consolidated statements of operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value measurements of tangible and intangible assets and liabilities were based on significant inputs not observable in the market and thus represent Level 3 measurements within the fair value measurement hierarchy (see Note 17 - Fair Value). Level 3 inputs included, among others, discount rates that we estimated would be used by a market participant in valuing these assets and liabilities, projections of revenues and cash flows, client attrition rates and market comparables.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i3323119e0c3647b980f3599fd5055bd0_D20210512-20210512"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzU1NQ_8f14f8f7-737e-4d21-a902-cfb3009cbebc"
      unitRef="usd">59600000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh
      contextRef="i3323119e0c3647b980f3599fd5055bd0_D20210512-20210512"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzY0Nw_d1284152-b149-4243-99d9-ce008a395a77"
      unitRef="usd">15000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzEwNTQ_2723b43f-689e-4020-b0cb-31230ababb39"
      unitRef="usd">900000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzQxMDE_5e1d2491-540e-4edc-80a5-05ba0ca3eee8">&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The allocation of the purchase price paid for TruCode was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.474%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchase Price Allocation&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable and accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,289)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contingent consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,500)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,300)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The allocation of the purchase price paid for Get Real Health was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.474%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchase Price Allocation&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable and accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(594)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred taxes, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,736)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liability&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,285)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contingent consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(430)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzEtMS0xLTEtMTg2ODk_073fb2f4-6418-4ed6-80c4-742d7f32f9a6"
      unitRef="usd">4249000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzItMS0xLTEtMTg2ODk_82872b56-0f18-4e34-941a-87ee97d3aa5b"
      unitRef="usd">924000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzQtMS0xLTEtMTg2ODk_cf5a848f-d799-44ae-81c9-525ca912b7dd"
      unitRef="usd">2000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzctMS0xLTEtMTg2ODk_fe687d71-7e12-444a-bef9-db2246b3422d"
      unitRef="usd">37300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzgtMS0xLTEtMTg2ODk_fb4dfc60-b539-40e2-bcaa-5ab9671deb2e"
      unitRef="usd">27497000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzktMS0xLTEtMTg2ODk_894ecad8-a452-4d00-a86c-41569846a0b2"
      unitRef="usd">2289000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability
      contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzEyLTEtMS0xLTE4Njg5_1133350c-e7e0-4486-90e9-8a1483f89e7e"
      unitRef="usd">2500000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability>
    <cpsi:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability
      contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzEzLTEtMS0xLTE4Njg5_6a6fed7e-651f-4a2e-aef3-e21131c27dff"
      unitRef="usd">1300000</cpsi:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i124c345d253b4bccaa47961637d8d63d_I20210512"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZToyODhlN2FlYzE5N2I0NGJjOWYwMTk4NTk4MzYzNDA4MS90YWJsZXJhbmdlOjI4OGU3YWVjMTk3YjQ0YmM5ZjAxOTg1OTgzNjM0MDgxXzE0LTEtMS0xLTE4Njg5_9b0ec359-8fbe-4de6-bed3-4d26841583cd"
      unitRef="usd">63883000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual
      contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzI1OTI_339e4ed4-b6a8-4fad-bcc4-0cdb0e8b051d"
      unitRef="usd">7100000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual
      contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzI2MzA_e29310ce-7c2c-4458-bd5e-4b84dd96ea76"
      unitRef="usd">3200000</us-gaap:BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzQxMDI_1d4be611-c4d4-4d03-8b22-bf89f0ec4d93">&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following unaudited pro forma revenue, net income and earnings per share amounts for the years ended December 31, 2021 and 2020 give effect to the TruCode acquisition as if it had been completed on January 1, 2020. The pro forma financial information is presented for illustrative purposes only and is not necessarily indicative of what the operating results actually would have been during the periods presented had the TruCode acquisition been completed during the periods presented. In addition, the unaudited pro forma financial information does not purport to project future operating results. The pro forma information does not fully reflect: (1) any anticipated synergies (or costs to achieve synergies) or (2) the impact of non-recurring items directly related to the TruCode acquisition. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.778%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.557%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.629%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands, except per share data, unaudited)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pro forma revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;286,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;275,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pro forma net income &lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,635&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,651&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pro forma diluted earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzItMS0xLTEtMTg2ODk_b63e62bb-154a-4f85-bf79-31d242ea508d"
      unitRef="usd">286651000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="iaa1b4c6fdc7a4b9082bc0309d0fcb959_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzItMy0xLTEtMTg2ODk_c576040b-23da-4d1d-ae7b-b840566b83b8"
      unitRef="usd">275641000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzMtMS0xLTEtMTg2ODk_4581addf-3396-41f4-8d2a-bd78b2f0e294"
      unitRef="usd">20635000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="iaa1b4c6fdc7a4b9082bc0309d0fcb959_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzMtMy0xLTEtMTg2ODk_d38cdc72-e451-40bf-aa04-5d278d068c5d"
      unitRef="usd">14651000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted
      contextRef="i6565462584164257bb0d8fa000bb0700_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzQtMS0xLTEtMTg2ODk_7906ec43-46aa-4dad-98bd-0234a8c4c53a"
      unitRef="usdPerShare">1.41</us-gaap:BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted>
    <us-gaap:BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted
      contextRef="iaa1b4c6fdc7a4b9082bc0309d0fcb959_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo4ODIwZThjZTJjOTQ0NzFlOWExODUwZmUzOTY2Y2I4ZS90YWJsZXJhbmdlOjg4MjBlOGNlMmM5NDQ3MWU5YTE4NTBmZTM5NjZjYjhlXzQtMy0xLTEtMTg2ODk_7f2c107e-48df-4cec-a568-992d09d9751d"
      unitRef="usdPerShare">1.01</us-gaap:BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i58aa93d446c1469081e8729fb933cc4d_D20190503-20190503"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzEwOTk1MTE2NDI1NzQ_c934e5c1-f5de-42b0-8ddd-390cae81bd93"
      unitRef="usd">10800000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh
      contextRef="i58aa93d446c1469081e8729fb933cc4d_D20190503-20190503"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzEwOTk1MTE2NDI1NTk_5bbe11fe-9cc7-4524-ab0c-7bc30fad4ea1"
      unitRef="usd">14000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1
      contextRef="i1c0f7691c67249928dca97d88dedf9bb_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzEwOTk1MTE2NDI1ODk_e36151d2-7210-41af-a8d5-06db85222bfd"
      unitRef="usd">5000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="i1c0f7691c67249928dca97d88dedf9bb_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90ZXh0cmVnaW9uOjViZDEyYTgwODY4ZTQ1NjNhOTVmNjM5YWY2MTE2Yzk0XzEwOTk1MTE2NDI2MDM_b82aa3e3-aab7-48c1-ac6b-f34b1e62e647"
      unitRef="usd">600000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzEtMS0xLTEtMjQyNDk_65b957b0-8d23-4664-abfb-476a95102039"
      unitRef="usd">159000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzItMS0xLTEtMjQyNDk_aef36209-fa4f-4214-8068-3b31b4b98bec"
      unitRef="usd">364000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzQtMS0xLTEtMjQyNDk_a8bce182-8630-4f7a-ba8b-4a19d912497d"
      unitRef="usd">107000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzUtMS0xLTEtMjQyNDk_3cd841e5-fac0-434f-b256-a381d7df3596"
      unitRef="usd">365000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <cpsi:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzYtMS0xLTEtMjQyNDk_f5638990-c1a4-47fb-963a-665f91a4b6a4"
      unitRef="usd">1285000</cpsi:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzctMS0xLTEtMjQyNDk_e029ea02-76ba-448b-b0ab-d8ac6213f58f"
      unitRef="usd">7890000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzgtMS0xLTEtMjQyNDk_c38f79b8-c365-422a-8d90-966d50b1e595"
      unitRef="usd">9767000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzktMS0xLTEtMjQyNDk_db20148c-a381-4bb9-a7f6-c1eb69fc1474"
      unitRef="usd">594000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzEwLTEtMS0xLTI0MjQ5_6eeb2659-eecf-42f3-8e49-6895a455347b"
      unitRef="usd">1736000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzExLTEtMS0xLTI0MjQ5_ad535a21-f26c-4643-9c45-463dcc5401c7"
      unitRef="usd">1285000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzEyLTEtMS0xLTI0MjQ5_57b4ea54-5a34-48c7-9c7c-3c12ff3eb7a9"
      unitRef="usd">5000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability>
    <cpsi:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzEzLTEtMS0xLTI0MjQ5_e37b1de0-1880-4e2e-9b0d-af67e7977235"
      unitRef="usd">430000</cpsi:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i9822fcb6f72b4592a03b6340ee7f7e3e_I20190503"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xMzkvZnJhZzo1YmQxMmE4MDg2OGU0NTYzYTk1ZjYzOWFmNjExNmM5NC90YWJsZTo2YmNjN2JmMWYxYzk0YTU1YWEzMDAzMDA2YTIyZTY1Yi90YWJsZXJhbmdlOjZiY2M3YmYxZjFjOTRhNTVhYTMwMDMwMDZhMjJlNjViXzE0LTEtMS0xLTI0MjQ5_eb97bc19-a0c4-4102-9ef1-391b72af1a43"
      unitRef="usd">10892000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90ZXh0cmVnaW9uOmQyMTU2NDQxNjJmYjQ3NTdiYWU1N2Y1OWIyYjEwZDI1XzEwMw_acfaa826-3f3e-4c9d-9172-38c8f2803507">PROPERTY AND EQUIPMENT&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment were comprised of the following at December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.783%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.860%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.890%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.555%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.195%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Land&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings and improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,868&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Office furniture and fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;829&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,878)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,225)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90ZXh0cmVnaW9uOmQyMTU2NDQxNjJmYjQ3NTdiYWU1N2Y1OWIyYjEwZDI1XzEwNQ_890af990-f9d2-4bfd-9a98-a090f55a091d">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment were comprised of the following at December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.783%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.860%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.890%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.555%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.195%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Land&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings and improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,868&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Office furniture and fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;829&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,878)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,225)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i1da887bcff9b421190fc0fa3fc044d72_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzEtMS0xLTEtMTg2ODk_16eacb90-0e5f-4296-9b55-1f47044a7424"
      unitRef="usd">2848000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="if98f8fbdf0784e23ab624f319145f44d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzEtMy0xLTEtMTg2ODk_81e8ffd1-ef0d-4cd3-9771-aa4d36f23ad6"
      unitRef="usd">2848000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i375f4addcd3244ef8d2223822d12e4a8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzItMS0xLTEtMTg2ODk_8f01a83d-77a4-42bb-b643-ab0162ef8f1f"
      unitRef="usd">8269000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i5cdb3384fa3046e2ad46d5e3afec5959_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzItMy0xLTEtMTg2ODk_5baeecec-7566-40eb-aed9-bd93e4803c0f"
      unitRef="usd">8242000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ide101ceca8f54f33885aaf6f1af9f0fb_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzQtMS0xLTEtMTg2ODk_23ac1bce-acc0-4aba-8ae7-b64a520b7a3c"
      unitRef="usd">7868000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i5d6f80d9760d40dc87e93b2f0d4e35ec_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzQtMy0xLTEtMTg2ODk_7eacb102-db40-4d63-b9ce-1369803fd4ef"
      unitRef="usd">7144000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ibc31d2d4b5424c9c90dcffbba84d715b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzUtMS0xLTEtMTg2ODk_fa540a03-8f71-4486-82f5-addf4ac2d595"
      unitRef="usd">783000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i671809b9f55c489e9bd39b9a6cb45116_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzUtMy0xLTEtMTg2ODk_c3e3b569-ef12-46ed-87d2-1734001987a8"
      unitRef="usd">1283000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ia3bde531893248b5bcb47e6b90b2a928_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzYtMS0xLTEtMTg2ODk_90e94c1f-fabb-40e7-a4b3-efcf9ad54476"
      unitRef="usd">682000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i3cda13ca420b4c15a53e1ec9361624eb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzYtMy0xLTEtMTg2ODk_0af46a0c-d293-4338-a2bd-a68a8a300863"
      unitRef="usd">829000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i0e3f448ddcb940b7b4e3b0bbb19445c8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzctMS0xLTEtMTg2ODk_f41ef184-2a92-4bb9-afb6-5e7431be6217"
      unitRef="usd">18000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ica9918e0d8ac4287844a00b525bf32aa_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzctMy0xLTEtMTg2ODk_01837cdd-b2ba-493f-a7a4-31a9194080e5"
      unitRef="usd">18000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzgtMS0xLTEtMTg2ODk_dc662b0e-a344-47de-98c9-5cfcac6ebb89"
      unitRef="usd">20468000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzgtMy0xLTEtMTg2ODk_e11c87c0-54c6-4bbc-a8e1-8d81ea49213b"
      unitRef="usd">20364000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzktMS0xLTEtMTg2ODk_aa29db7d-dbb3-48c9-a2e5-048c440ee431"
      unitRef="usd">8878000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzktMy0xLTEtMTg2ODk_f6b4368a-ac8f-4b4c-8a75-685cfd542b34"
      unitRef="usd">7225000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzEwLTEtMS0xLTE4Njg5_2432addb-38c9-42cb-9478-5226cb2c8cf0"
      unitRef="usd">11590000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDIvZnJhZzpkMjE1NjQ0MTYyZmI0NzU3YmFlNTdmNTliMmIxMGQyNS90YWJsZTozN2FiMjFmMmQ5NGM0YWZmOWZhNjg4NjM4NWQ0MmYyMS90YWJsZXJhbmdlOjM3YWIyMWYyZDk0YzRhZmY5ZmE2ODg2Mzg1ZDQyZjIxXzEwLTMtMS0xLTE4Njg5_3aff51cf-e9a5-432e-9cf4-97c46daa08bf"
      unitRef="usd">13139000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzk1OA_3562c27b-268c-489d-a6b7-ceaf8d9945f6">SOFTWARE DEVELOPMENT&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Software development costs are accounted for in accordance with ASC 350-40, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Internal-Use Software&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.  We capitalize incurred labor costs for software development from the time the preliminary project phase is completed until the software is available for general release.  Research and development costs and other computer software maintenance costs related to software development are expensed as incurred. We estimate the useful life of our capitalized software and amortize its value on a straight-line basis over that estimated life, which is estimated to be five years.  If the actual life of the asset is deemed to be impaired, a write-down of the value of the asset may be recorded as a charge to earnings.  Amortization begins when the related features are placed in service.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the second quarter of 2021, our ongoing monitoring activities associated with the capitalization of software development costs and the related correlation between capitalization rates and operational metrics designed to reflect the distribution of work revealed that our then-current labor capitalization methodology did not fully reflect all of the critical activities necessary to develop software assets. Consequently, during the second quarter of 2021, we elected to change our method of estimating the labor costs incurred in developing software assets.  Prior to this change, we estimated the associated labor costs using an estimated time-equivalent for workload metrics commonly utilized within agile software development environments.  With this change, we now estimate these labor costs using the distribution of these agile workload metrics between capitalizable and non-capitalizable units of work.  We believe this change is preferable as the new methodology better estimates capitalizable labor costs and is consistent with industry best practices. We have determined that this change in accounting for software development costs is a change in accounting estimate effected by a change in accounting principle and, as such, has been accounted for on a prospective basis.  In connection with this change, we capitalized software development costs of  $8.8 million during the year ended December 31, 2021.  We estimate that the effect of this change was to increase capitalized amounts by approximately $4.6 million for the year ended December 31, 2021, with a corresponding decrease to product development costs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Software development, net was comprised of the following at December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.228%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.932%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.842%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.883%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.843%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software development costs&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,049)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(118)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software development costs, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,210&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="id64e1dd8939e448e88046c4c36f6f831_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzEwOTk1MTE2MzA3ODU_0538e058-0e65-4d3e-ad9e-1135b10d784c">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzI3NDg3NzkwNzIxOTE_82281183-c43b-4117-8c4c-f4bfbeb5382d"
      unitRef="usd">8800000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <cpsi:IncreaseDecreaseToProductDevelopmentCosts
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzI3NDg3NzkwNzIyOTQ_5288f3a4-0bf4-4907-aa77-9e5284f509b6"
      unitRef="usd">-4600000</cpsi:IncreaseDecreaseToProductDevelopmentCosts>
    <cpsi:IncreaseDecreaseInCapitalizedSoftwareCosts
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzI3NDg3NzkwNzIyOTQ_774b80fb-9c9e-46ca-a612-7de161db05fe"
      unitRef="usd">4600000</cpsi:IncreaseDecreaseInCapitalizedSoftwareCosts>
    <cpsi:ScheduleOfSoftwareDevelopmentNetTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90ZXh0cmVnaW9uOjBjOWVmMDBmYzJlMzRjZTc5OTQ4OGZiNThhOWJmYWJjXzk1OQ_d918df78-c6ea-436a-afb3-50f04561a717">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Software development, net was comprised of the following at December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:91.228%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.932%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.842%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.883%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.843%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software development costs&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,049)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(118)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software development costs, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,210&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</cpsi:ScheduleOfSoftwareDevelopmentNetTableTextBlock>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzEtMS0xLTEtMTg2ODk_f3816e2d-0af8-48b4-8975-88192701009d"
      unitRef="usd">12693000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzEtMy0xLTEtMTg2ODk_3b7d788f-5cd5-4d30-af9f-1625bb0cd5f8"
      unitRef="usd">3328000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzItMS0xLTEtMTg2ODk_fdad76fe-ad09-43cd-95cb-1eeff0b8c746"
      unitRef="usd">1049000</us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization>
    <us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzItMy0xLTEtMTg2ODk_5fef7f83-a8d4-4960-8226-59bd1ce1b9d9"
      unitRef="usd">118000</us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzMtMS0xLTEtMTg2ODk_260d3020-e71b-43da-9b19-7b083cd8a537"
      unitRef="usd">11644000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDUvZnJhZzowYzllZjAwZmMyZTM0Y2U3OTk0ODhmYjU4YTliZmFiYy90YWJsZTo1NmUwOTI5MDFmNzU0ZmVhODdhNDZmNjIyMmEyYzg3MC90YWJsZXJhbmdlOjU2ZTA5MjkwMWY3NTRmZWE4N2E0NmY2MjIyYTJjODcwXzMtMy0xLTEtMTg2ODk_326ce970-461c-483b-ab7f-ff39f8ac935c"
      unitRef="usd">3210000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90ZXh0cmVnaW9uOmExMTNiYmY5ODcwNzRlNjhhNTNlMmQ0Mjk4NTQ1N2E3XzEwOA_6188bf44-c786-4829-b2ab-a58a7a69b55d">OTHER ACCRUED LIABILITIES&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other accrued liabilities were comprised of the following at December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.557%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.932%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Salaries and benefits&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Severance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commissions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Self-insurance reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contingent consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities, current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90ZXh0cmVnaW9uOmExMTNiYmY5ODcwNzRlNjhhNTNlMmQ0Mjk4NTQ1N2E3XzEwOQ_d771a66f-a107-4b0f-850c-b1bcead00f59">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other accrued liabilities were comprised of the following at December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.930%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.557%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.932%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Salaries and benefits&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Severance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commissions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Self-insurance reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contingent consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities, current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedSalariesCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzEtMS0xLTEtMTg2ODk_c66de299-9a30-464a-b9ae-6412ca06ed41"
      unitRef="usd">8482000</us-gaap:AccruedSalariesCurrent>
    <us-gaap:AccruedSalariesCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzEtMy0xLTEtMTg2ODk_65801243-ad80-4832-bc70-90d1603ad086"
      unitRef="usd">7876000</us-gaap:AccruedSalariesCurrent>
    <cpsi:AccruedSeveranceCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzItMS0xLTEtMTg2ODk_b3fdc303-0a63-4a91-b47d-77ddaf1bcc1f"
      unitRef="usd">236000</cpsi:AccruedSeveranceCurrent>
    <cpsi:AccruedSeveranceCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzItMy0xLTEtMTg2ODk_92f43ee7-9df4-43e0-9cc8-41e1cbdad171"
      unitRef="usd">25000</cpsi:AccruedSeveranceCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzMtMS0xLTEtMTg2ODk_1cdd7dbb-dfa9-4666-b58a-e106041819f9"
      unitRef="usd">1158000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzMtMy0xLTEtMTg2ODk_6cf81828-ee27-44e9-a755-3a4a88834c95"
      unitRef="usd">1040000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedInsuranceCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzQtMS0xLTEtMTg2ODk_9ffd64f6-2c37-4ffa-aee6-4c4749c6b4a0"
      unitRef="usd">1409000</us-gaap:AccruedInsuranceCurrent>
    <us-gaap:AccruedInsuranceCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzQtMy0xLTEtMTg2ODk_2712997c-2daf-44cf-978e-3c4ba76e885d"
      unitRef="usd">1776000</us-gaap:AccruedInsuranceCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzUtMS0xLTEtMTg2ODk_20464896-541b-4f54-9d0f-52723f7dfdea"
      unitRef="usd">2500000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzUtMy0xLTEtMTg2ODk_f880a8d3-dba5-4f1d-97d9-8a3ac555efc6"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzYtMS0xLTEtMTg2ODk_e5613f5a-37f3-4412-8b26-e30e348e44ec"
      unitRef="usd">1786000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzYtMy0xLTEtMTg2ODk_58bcacfe-8c82-4577-b3bb-bd4d2bd69339"
      unitRef="usd">551000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzctMS0xLTEtMTg2ODk_0c83a226-4086-44ce-bc18-df10bc037812"
      unitRef="usd">1592000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzctMy0xLTEtMTg2ODk_8f1c7b6d-f1dc-44d9-abb5-a7fc653f508c"
      unitRef="usd">1518000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzgtMS0xLTEtMTg2ODk_b492892e-4e69-41ad-a697-51dab0bcaed0"
      unitRef="usd">17163000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNDgvZnJhZzphMTEzYmJmOTg3MDc0ZTY4YTUzZTJkNDI5ODU0NTdhNy90YWJsZTpiZGE5OTY5ZjlkMzk0NDcwOTY5ZjBkNGYzYzQyZTRlYy90YWJsZXJhbmdlOmJkYTk5NjlmOWQzOTQ0NzA5NjlmMGQ0ZjNjNDJlNGVjXzgtMy0xLTEtMTg2ODk_1f26d5b8-031f-45e8-a968-d40517c8daef"
      unitRef="usd">12786000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90ZXh0cmVnaW9uOjg2ZDM4YWRlNzFkYTQ0OWY5NjFiMjBhMzllNGQyYzFiXzE5OTQ_064715d0-32a7-483a-9110-ac8943937388">NET INCOME PER SHARE&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company presents basic and diluted earnings per share ("EPS") data for its common stock. Basic EPS is calculated by dividing the net income attributable to stockholders of the Company by the weighted average number of shares of common stock outstanding during the period. Diluted EPS is determined by adjusting the net income attributable to stockholders of the Company and the weighted average number of shares of common stock outstanding during the period for the effects of all dilutive potential common shares, including awards under stock-based compensation arrangements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's unvested restricted stock awards (see Note 9) are considered participating securities under ASC 260, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Earnings Per Share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, because they entitle holders to non-forfeitable rights to dividends until the awards vest or are forfeited. When a company has a security that qualifies as a "participating security," the Codification requires the use of the two-class method when computing basic EPS. The two-class method is an earnings allocation formula that determines EPS for each class of common stock and participating security according to dividends declared (or accumulated) and participation rights in undistributed earnings. In determining the amount of net income to allocate to common stockholders, income is allocated to both common stock and participating securities based on their respective weighted average shares outstanding for the period, with net income attributable to common stockholders ultimately equaling net income less net income attributable to participating securities. Diluted EPS for the Company's common stock is computed using the more dilutive of the two-class method or the treasury stock method.&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a calculation of the basic and diluted EPS for the Company's common stock, including a reconciliation between net income and net income attributable to common stockholders for the years ended December 31, 2021, 2020, and 2019:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.313%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.605%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands, except for per share data)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Basic EPS&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Net income attributable to participating securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(409)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(429)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(764)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income attributable to common stockholders&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,817&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,704&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding used in basic per common share computations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic EPS&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Diluted EPS&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income attributable to common stockholders for diluted EPS&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,817&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,704&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding used in basic per common share computations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding used in diluted per common share computations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted EPS&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90ZXh0cmVnaW9uOjg2ZDM4YWRlNzFkYTQ0OWY5NjFiMjBhMzllNGQyYzFiXzE5OTY_445c55f7-097c-4789-ac08-d028c156f164">&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company presents basic and diluted earnings per share ("EPS") data for its common stock. Basic EPS is calculated by dividing the net income attributable to stockholders of the Company by the weighted average number of shares of common stock outstanding during the period. Diluted EPS is determined by adjusting the net income attributable to stockholders of the Company and the weighted average number of shares of common stock outstanding during the period for the effects of all dilutive potential common shares, including awards under stock-based compensation arrangements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's unvested restricted stock awards (see Note 9) are considered participating securities under ASC 260, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Earnings Per Share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, because they entitle holders to non-forfeitable rights to dividends until the awards vest or are forfeited. When a company has a security that qualifies as a "participating security," the Codification requires the use of the two-class method when computing basic EPS. The two-class method is an earnings allocation formula that determines EPS for each class of common stock and participating security according to dividends declared (or accumulated) and participation rights in undistributed earnings. In determining the amount of net income to allocate to common stockholders, income is allocated to both common stock and participating securities based on their respective weighted average shares outstanding for the period, with net income attributable to common stockholders ultimately equaling net income less net income attributable to participating securities. Diluted EPS for the Company's common stock is computed using the more dilutive of the two-class method or the treasury stock method.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90ZXh0cmVnaW9uOjg2ZDM4YWRlNzFkYTQ0OWY5NjFiMjBhMzllNGQyYzFiXzE5OTE_39ff596f-3f88-44d6-88e3-bed2a5f12cb9">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a calculation of the basic and diluted EPS for the Company's common stock, including a reconciliation between net income and net income attributable to common stockholders for the years ended December 31, 2021, 2020, and 2019:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.313%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.605%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands, except for per share data)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Basic EPS&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Net income attributable to participating securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(409)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(429)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(764)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income attributable to common stockholders&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,817&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,704&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding used in basic per common share computations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic EPS&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%"&gt;Diluted EPS&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income attributable to common stockholders for diluted EPS&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,817&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,704&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding used in basic per common share computations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding used in diluted per common share computations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted EPS&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzMtMS0xLTEtMTg2ODk_f8bd17c9-41ca-4000-861a-d1756ae897a3"
      unitRef="usd">18430000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzMtMy0xLTEtMTg2ODk_89c9195a-eff9-43c0-924f-1dbdb858bdf7"
      unitRef="usd">14246000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzMtNS0xLTEtMTg2ODk_cbb596f3-dcb0-438d-8659-ff8383c18355"
      unitRef="usd">20468000</us-gaap:NetIncomeLoss>
    <us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzQtMS0xLTEtMTg2ODk_dbed6c55-921a-44fe-ba4b-6caaf853c867"
      unitRef="usd">409000</us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic>
    <us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzQtMy0xLTEtMTg2ODk_462ad4a8-8435-42fe-8d87-27a57d617a0e"
      unitRef="usd">429000</us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic>
    <us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzQtNS0xLTEtMTg2ODk_f6fab484-e7a0-45b6-a43e-dd9605baf481"
      unitRef="usd">764000</us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzUtMS0xLTEtMTg2ODk_0d5cc14d-ea17-405f-805c-e7d965474c1e"
      unitRef="usd">18021000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzUtMy0xLTEtMTg2ODk_e726b1f8-1648-4df8-b8c9-2edc8465a5d6"
      unitRef="usd">13817000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzUtNS0xLTEtMTg2ODk_f262f7bd-9af1-447b-ad0d-10a8b424f7ea"
      unitRef="usd">19704000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzctMS0xLTEtMTg2ODk_8f8a02a4-4e30-4c4a-b56a-d505055a4698"
      unitRef="shares">14290000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzctMy0xLTEtMTg2ODk_d90c3f6f-de80-4b10-a78b-465cb5298698"
      unitRef="shares">14038000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzctNS0xLTEtMTg2ODk_22dde2d2-1dcf-4e14-a9da-ee8e2492eb6f"
      unitRef="shares">13778000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzgtMS0xLTEtMTg2ODk_b48fe4e1-d020-4881-bf65-574f531e1384"
      unitRef="usdPerShare">1.26</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzgtMy0xLTEtMTg2ODk_87e6bd46-5cad-46d9-bcbc-60ff18acd540"
      unitRef="usdPerShare">0.98</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzgtNS0xLTEtMTg2ODk_5ef15cd8-2b1b-4adc-9238-82842d2c7b2f"
      unitRef="usdPerShare">1.43</us-gaap:EarningsPerShareBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE0LTEtMS0xLTE4Njg5_5e788c38-a0be-4f35-9eea-70e7ebb7ed0e"
      unitRef="usd">18021000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE0LTMtMS0xLTE4Njg5_a32fe9ba-e4af-46b5-affe-9c976386abda"
      unitRef="usd">13817000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE0LTUtMS0xLTE4Njg5_a996cd75-f545-4805-874c-beb3a8c8beb2"
      unitRef="usd">19704000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE2LTEtMS0xLTE4Njg5_8a9e0523-3cc5-4e8e-9436-42cc85c8961c"
      unitRef="shares">14290000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE2LTMtMS0xLTE4Njg5_371681ca-b6b3-4560-a6b7-80f6f14cd84f"
      unitRef="shares">14038000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE2LTUtMS0xLTE4Njg5_cab4121e-6698-4796-9903-3ce8f70021a4"
      unitRef="shares">13778000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE4LTEtMS0xLTE4Njg5_2a49a804-b1d3-436b-930d-bb2a90638003"
      unitRef="shares">28000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE4LTMtMS0xLTE4Njg5_d664c1b6-89a0-4e27-9580-a669043cda62"
      unitRef="shares">0</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE4LTUtMS0xLTE4Njg5_4eb4af79-e062-45d1-bfb8-9d4eb38a117f"
      unitRef="shares">0</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE5LTEtMS0xLTE4Njg5_8572b443-9e50-45ca-b27d-095d6409ca70"
      unitRef="shares">14318000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE5LTMtMS0xLTE4Njg5_9cb501a5-c18f-447c-a692-7301b2b833e0"
      unitRef="shares">14038000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzE5LTUtMS0xLTE4Njg5_3243f1af-8cb9-4153-a8e5-b86b98ccf663"
      unitRef="shares">13778000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzIwLTEtMS0xLTE4Njg5_09a17160-d82a-45a0-a3d2-cbd18b255ecb"
      unitRef="usdPerShare">1.26</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzIwLTMtMS0xLTE4Njg5_58acf46e-06a4-4bde-8993-25a4f905e205"
      unitRef="usdPerShare">0.98</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTEvZnJhZzo4NmQzOGFkZTcxZGE0NDlmOTYxYjIwYTM5ZTRkMmMxYi90YWJsZTpiMjMzMDIyYTFkMjk0ZjI2YjJlNjk1OGY3Nzk5MzdjYi90YWJsZXJhbmdlOmIyMzMwMjJhMWQyOTRmMjZiMmU2OTU4Zjc3OTkzN2NiXzIwLTUtMS0xLTE4Njg5_ff97109f-c59f-4da6-aacc-bd9470558413"
      unitRef="usdPerShare">1.43</us-gaap:EarningsPerShareDiluted>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM3MTE_4a15701f-6971-4e4f-8e4e-5b04b4eb4ab6">INCOME TAXES&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounts for income taxes in accordance with ASC 740, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. These provisions require a company to determine whether it is more likely than not that a tax position will be sustained upon examination based on the technical merits of the position. If the more-likely-than-not threshold is met, a company must measure the tax position to determine the amount to recognize in the financial statements. The Company did not have any unrecognized tax positions as of December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The federal returns for tax years 2018 through 2020 remain open to examination, and the tax years 2017 through 2020 remain open to examination by certain other taxing jurisdictions to which the Company is subject. Additional years may be open to the extent attributes are being carried forward to an open year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred income taxes arise from the temporary differences in the recognition of income and expenses for tax purposes. A valuation allowance is established when the Company believes that it is more likely than not that some portion of its deferred tax assets will not be realized. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred tax assets and liabilities were comprised of the following at December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable and financing receivables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued vacation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;691&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,905&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,568&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued severance &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right of use asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,027&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,002&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;956&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right of use liability&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net deferred tax liability&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,880)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,378)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant components of the income tax provision for the years ended December&#160;31, 2021, 2020 and 2019 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current provision:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred provision:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,538&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The difference between income taxes at the U.S. federal statutory income tax rate of 21% for the years ended December 31, 2021, 2020 and 2019, and those reported in the consolidated statements of operations for the years ended December&#160;31, 2021, 2020 and 2019 are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income taxes at U.S. federal statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,945&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision-to-return adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State income tax, net of federal tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,274)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(958)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,196)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contingent consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,050)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(74)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(165)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;173&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-deductible compensation - 162(m)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,538&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our effective tax rates for the years ended December 31, 2021, 2020 and 2019 were 20%, 24% and 14% respectively. Our effective tax rate for 2019 was significantly impacted by the non-taxable nature of our recorded gain on contingent &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;consideration, which served to reduce the year's effective tax rate by over 4%.  2020 lacked any benefit to the effective tax rate from such contingent consideration and, when combined with more punitive provision to return adjustments primarily related to R&amp;amp;D tax credits and lowered estimates for qualifying research expenditures during the year, thereby lowering estimates for the 2020 R&amp;amp;D tax credit, resulted in a significant increase in the effective tax rate for 2020. Lowered provision to return adjustments resulted in an incremental 2.6% decrease in our effective tax rate for 2021 compared to 2020, while decreased tax shortfalls related to stock-based compensation arrangements resulted in an incremental 1.9% decrease in our effective tax rate for 2021 compared to 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have federal net operating loss carryforwards related to the acquisition of HHI and Get Real Health of $7.9 million, $12.2 million and $27.9 million for the years ending December 31, 2021, 2020, and 2019, respectively, which expire at various dates from 2026 to 2035. We have state net operating loss carryforwards related to the acquisition of HHI and Get Real Health of $29.9 million, $34.4 million and $34.5 million for the years ending December 31, 2021, 2020, and 2019, respectively, which expire at various dates from 2023 to 2036.&lt;/span&gt;&lt;/div&gt;Realization of deferred tax assets associated with the state net operating loss carryforwards is dependent upon generating sufficient taxable income prior to their expiration. We believe it is more likely than not that the benefit from certain state NOL carryforwards associated with the acquisition of Get Real Health will not be realized. In recognition of this risk, we have provided a valuation allowance on the deferred tax assets related to these state NOL carryforwards of $0.6 million after both December 31, 2021 and 2020, respectively.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM3MTI_b49ad1c0-b794-4432-8257-0e041bfa577f">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred tax assets and liabilities were comprised of the following at December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable and financing receivables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued vacation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;691&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,905&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,568&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued severance &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right of use asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,027&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,002&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;956&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right of use liability&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,285&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net deferred tax liability&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,880)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,378)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <cpsi:DeferredTaxAssetsAccountsReceivableandFinancingReceivables
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzItMS0xLTEtMTg2ODk_d4482652-b70e-4701-9476-0a15b6127e98"
      unitRef="usd">625000</cpsi:DeferredTaxAssetsAccountsReceivableandFinancingReceivables>
    <cpsi:DeferredTaxAssetsAccountsReceivableandFinancingReceivables
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzItMy0xLTEtMTg2ODk_cbf9264d-c9f3-455b-9042-690837726ec0"
      unitRef="usd">773000</cpsi:DeferredTaxAssetsAccountsReceivableandFinancingReceivables>
    <cpsi:DeferredTaxAssetsAccruedVacation
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzMtMS0xLTEtMTg2ODk_48e582be-3a50-4754-97ef-513901e567e2"
      unitRef="usd">678000</cpsi:DeferredTaxAssetsAccruedVacation>
    <cpsi:DeferredTaxAssetsAccruedVacation
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzMtMy0xLTEtMTg2ODk_e111482f-dd4c-4c85-afeb-2bb3ba880af0"
      unitRef="usd">691000</cpsi:DeferredTaxAssetsAccruedVacation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzQtMS0xLTEtMTg2ODk_acac0e8b-db62-48ab-abd9-3090e79b8c9a"
      unitRef="usd">1905000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzQtMy0xLTEtMTg2ODk_53a96981-0065-452e-a774-073eb9483a45"
      unitRef="usd">2568000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzUtMS0xLTEtMTg2ODk_ad9c3d16-bf8d-44f8-95ad-af4c133b593b"
      unitRef="usd">988000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzUtMy0xLTEtMTg2ODk_d7d78821-cdb8-4f94-a7a8-73a3ce4530a3"
      unitRef="usd">283000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzYtMS0xLTEtMTg2ODk_1ba29452-4e3d-421f-b5de-d0c6e93e1a86"
      unitRef="usd">44000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzYtMy0xLTEtMTg2ODk_208f31a6-a329-42e8-899e-fe5d3a79418b"
      unitRef="usd">4000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzctMS0xLTEtMTg2ODk_0969c3f3-ea59-4a56-aa3a-b4e71d01b205"
      unitRef="usd">15000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzctMy0xLTEtMTg2ODk_144de3cd-b6ba-4c5e-a7c6-cd5a7fb3c30f"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEwLTEtMS0xLTE4Njg5_66fc03d7-3414-42ae-92f7-da7bb7f08501"
      unitRef="usd">2472000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEwLTMtMS0xLTE4Njg5_ce64960f-cc56-463e-b1d0-4bd76d881baa"
      unitRef="usd">3274000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzExLTEtMS0xLTE4Njg5_19c09dba-4a5d-47fc-8261-7163b0633e6c"
      unitRef="usd">3560000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzExLTMtMS0xLTE4Njg5_7af77b9c-c160-4e7f-bd61-5aef25a4f893"
      unitRef="usd">4301000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEyLTEtMS0xLTE4Njg5_5755b715-4378-4f82-b0ef-2153fb285fad"
      unitRef="usd">12027000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEyLTMtMS0xLTE4Njg5_8e7e6252-2c8a-495a-90b2-635a4bc7114e"
      unitRef="usd">11894000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEzLTEtMS0xLTE4Njg5_ad8fae55-566f-4309-b31e-7031f408f371"
      unitRef="usd">622000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzEzLTMtMS0xLTE4Njg5_7c718631-9758-4623-b8b7-39e55a57f808"
      unitRef="usd">636000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE0LTEtMS0xLTE4Njg5_176da41f-99c6-47c7-a2ba-ed961dc7f444"
      unitRef="usd">11405000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE0LTMtMS0xLTE4Njg5_171d3693-d78f-4f45-99a2-a7f99618b627"
      unitRef="usd">11258000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE2LTEtMS0xLTE4Njg5_b6577b97-0e47-4181-8516-ffdd31373427"
      unitRef="usd">18002000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE2LTMtMS0xLTE4Njg5_dee07bf9-ea1a-4e0c-9a6b-7d3004d09d10"
      unitRef="usd">19603000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE3LTEtMS0xLTE4Njg5_b883eb40-7e95-4643-b7bd-79e9715bc4b2"
      unitRef="usd">4668000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE3LTMtMS0xLTE4Njg5_bf511e59-71fb-45fe-be14-2242c5767878"
      unitRef="usd">956000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE4LTEtMS0xLTE4Njg5_4cbc288d-0ed3-4e23-8c50-d1e185e77df1"
      unitRef="usd">875000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE4LTEtMS0xLTE4Njg5_592c739b-0ddd-4bb1-b6a5-dc31cb102365"
      unitRef="usd">875000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE4LTMtMS0xLTE4Njg5_1455f8cb-452d-4e01-b669-adcd92acdc67"
      unitRef="usd">1077000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE4LTMtMS0xLTE4Njg5_9544a9a0-eea6-4f8e-a96f-430565b37f3f"
      unitRef="usd">1077000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE5LTEtMS0xLTE4Njg5_9322d837-a023-40ca-8a7d-57bbb6ae5d7f"
      unitRef="usd">25285000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzE5LTMtMS0xLTE4Njg5_8af59b42-8e12-44ab-b982-c6416d563392"
      unitRef="usd">21636000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzIwLTEtMS0xLTE4Njg5_0d240a53-d976-44a5-9d58-f0821dd4bc9d"
      unitRef="usd">13880000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTpiODliYmRlYjhjODg0MmRjOWJmMjVjODc3Nzc1M2JhOC90YWJsZXJhbmdlOmI4OWJiZGViOGM4ODQyZGM5YmYyNWM4Nzc3NzUzYmE4XzIwLTMtMS0xLTE4Njg5_08fb6ff8-62e8-4b0f-a5ee-2dbd721aca5e"
      unitRef="usd">10378000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM3MTQ_8d582c02-437f-4b47-b7d7-6fd172f4907b">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant components of the income tax provision for the years ended December&#160;31, 2021, 2020 and 2019 were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current provision:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred provision:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,538&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzItMS0xLTEtMTg2ODk_677bac28-ec9b-414e-acc8-cbf48b783803"
      unitRef="usd">731000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzItMy0xLTEtMTg2ODk_42fc9faf-f8eb-43d8-82b3-d059696fcc7a"
      unitRef="usd">244000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzItNS0xLTEtMTg2ODk_91ceda41-502a-413f-bdbb-06ecfa34a4e1"
      unitRef="usd">860000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzMtMS0xLTEtMTg2ODk_fa080d3e-5ec8-4aac-92d8-e06cfe8a4d97"
      unitRef="usd">413000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzMtMy0xLTEtMTg2ODk_d179da43-915d-48fa-b7ae-fd12cc117b61"
      unitRef="usd">1539000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzMtNS0xLTEtMTg2ODk_69faecd9-74a4-4514-bdd2-120c36e703e3"
      unitRef="usd">1357000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzUtMS0xLTEtMTg2ODk_eb9e571b-94d4-4db3-a9a2-704133e4632e"
      unitRef="usd">3331000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzUtMy0xLTEtMTg2ODk_d9d57045-bb79-465e-a87b-a96868f60465"
      unitRef="usd">2766000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzUtNS0xLTEtMTg2ODk_fad02b9b-9bad-487e-8fcf-dea4cb586a78"
      unitRef="usd">951000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzYtMS0xLTEtMTg2ODk_3cb68809-0254-4027-8160-0a60feed15fd"
      unitRef="usd">171000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzYtMy0xLTEtMTg2ODk_f15cd8ca-2fe9-46c0-bc48-1257c3ae9c04"
      unitRef="usd">-11000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzYtNS0xLTEtMTg2ODk_6f009753-9898-43eb-9eee-9bbaa10308cf"
      unitRef="usd">60000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzctMS0xLTEtMTg2ODk_64b062b5-dc0d-4518-afc9-2303004deafb"
      unitRef="usd">4646000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzctMy0xLTEtMTg2ODk_67ab5206-0683-45de-8bb1-33411b9aff8c"
      unitRef="usd">4538000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZTplZjk5ZGMxMjgwNWU0NmI2ODJmYmJlYjM4ODViNmVmNC90YWJsZXJhbmdlOmVmOTlkYzEyODA1ZTQ2YjY4MmZiYmViMzg4NWI2ZWY0XzctNS0xLTEtMTg2ODk_2f17b923-b9ad-442d-8f1d-259e9f610e4a"
      unitRef="usd">3228000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM3MDk_107bf36a-4515-4969-9428-629bd40807fc">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The difference between income taxes at the U.S. federal statutory income tax rate of 21% for the years ended December 31, 2021, 2020 and 2019, and those reported in the consolidated statements of operations for the years ended December&#160;31, 2021, 2020 and 2019 are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income taxes at U.S. federal statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,945&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision-to-return adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State income tax, net of federal tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,274)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(958)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,196)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contingent consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,050)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(74)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(165)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;173&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-deductible compensation - 162(m)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total income tax provision&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,538&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzEzOTg_596dc305-3600-4057-8e4f-089ca14fb5cf"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzEzOTg_8147c0ee-c0ca-4f34-a320-c0030f2c144d"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzEzOTg_d328e489-1353-4938-a612-3261ce1f743c"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEtMS0xLTEtMTg2ODk_31676617-1bd2-49eb-8205-c729dd3093fe"
      unitRef="usd">4846000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEtMy0xLTEtMTg2ODk_0aba2b2e-359f-46e0-b43e-bb7168f768db"
      unitRef="usd">3945000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEtNS0xLTEtMTg2ODk_ebe11512-c346-461c-8dd3-1b28ef176add"
      unitRef="usd">4976000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <cpsi:ProvisionToReturnAdjustments
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzItMS0xLTEtMTg2ODk_27b7e5c5-3dc1-4f7e-a7d1-e7c49b59f20d"
      unitRef="usd">-117000</cpsi:ProvisionToReturnAdjustments>
    <cpsi:ProvisionToReturnAdjustments
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzItMy0xLTEtMTg2ODk_b3801e48-fe37-454e-bd57-184fcb662484"
      unitRef="usd">-455000</cpsi:ProvisionToReturnAdjustments>
    <cpsi:ProvisionToReturnAdjustments
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzItNS0xLTEtMTg2ODk_e577e08f-b7ba-4aa3-8a1f-118a59a7fcb3"
      unitRef="usd">66000</cpsi:ProvisionToReturnAdjustments>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzMtMS0xLTEtMTg2ODk_86d43e1e-c207-41d5-9f32-8daf48790882"
      unitRef="usd">509000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzMtMy0xLTEtMTg2ODk_28adffa1-400d-4bf0-98ed-e372ea95975b"
      unitRef="usd">908000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzMtNS0xLTEtMTg2ODk_fc81a00c-f4fc-4bc6-be4c-a44e2c933a44"
      unitRef="usd">978000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzUtMS0xLTEtMTg2ODk_1da9873c-1161-4493-bc51-fc1b5a647aec"
      unitRef="usd">1274000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzUtMy0xLTEtMTg2ODk_c5498c69-c5f6-4829-9ff2-5091559aa85d"
      unitRef="usd">958000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationTaxCredits
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzUtNS0xLTEtMTg2ODk_36cf13f0-6d5d-413b-8e0d-5414760f25a5"
      unitRef="usd">2196000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <cpsi:EffectiveIncomeTaxRateReconciliationTransactionCosts
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzctMS0xLTEtMTg2ODk_2714864a-13fc-4d8d-8e8e-9ad894c8fe11"
      unitRef="usd">0</cpsi:EffectiveIncomeTaxRateReconciliationTransactionCosts>
    <cpsi:EffectiveIncomeTaxRateReconciliationTransactionCosts
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzctMy0xLTEtMTg2ODk_d21df780-8766-496a-8fe1-eab007c68fd8"
      unitRef="usd">0</cpsi:EffectiveIncomeTaxRateReconciliationTransactionCosts>
    <cpsi:EffectiveIncomeTaxRateReconciliationTransactionCosts
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzctNS0xLTEtMTg2ODk_5c874b66-fbbe-44a1-a54d-a40e72e77303"
      unitRef="usd">-1050000</cpsi:EffectiveIncomeTaxRateReconciliationTransactionCosts>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzktMS0xLTEtMTg2ODk_3ceb14f0-7099-428a-9444-62d4a561c627"
      unitRef="usd">-74000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzktMy0xLTEtMTg2ODk_feda6921-726a-48ab-978c-c2d6ad910d42"
      unitRef="usd">255000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzktNS0xLTEtMTg2ODk_9daad6a5-6edd-4261-802b-0d9d1ac8a176"
      unitRef="usd">151000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzExLTEtMS0xLTE4Njg5_852d8ccf-0504-4fa6-850b-1a55b81b954b"
      unitRef="usd">-14000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzExLTMtMS0xLTE4Njg5_bf53d24f-6d6d-4fb1-8f62-5d53c79c06c1"
      unitRef="usd">-165000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzExLTUtMS0xLTE4Njg5_abe81136-841d-4c3a-a06a-b7361b5f2d48"
      unitRef="usd">173000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <cpsi:EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTEtMS0xLTIyMTI1_606fe8c0-c7f5-44dd-98fb-e8691a10c2f6"
      unitRef="usd">510000</cpsi:EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation>
    <cpsi:EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTMtMS0xLTIyMTMz_e261b67f-4c3d-4c7a-b4e1-a0d1571aa02a"
      unitRef="usd">0</cpsi:EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation>
    <cpsi:EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTUtMS0xLTIyMTQw_c3656147-6747-4157-9cf8-e2058ca2ecbc"
      unitRef="usd">0</cpsi:EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTEtMS0xLTE4Njg5_f66b56ca-571f-4d3b-bd8d-d8ec3c381cfb"
      unitRef="usd">26000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTMtMS0xLTE4Njg5_3a90df6b-d9b6-497d-befa-3a93a9573d65"
      unitRef="usd">98000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:IncomeTaxReconciliationOtherReconcilingItems
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEyLTUtMS0xLTE4Njg5_8ade3d2a-4fc3-44e3-bc55-677555195093"
      unitRef="usd">262000</us-gaap:IncomeTaxReconciliationOtherReconcilingItems>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEzLTEtMS0xLTE4Njg5_adce303f-eccb-4b6a-a6d3-a899a1ac3cab"
      unitRef="usd">4646000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEzLTMtMS0xLTE4Njg5_3c0623c1-3aa8-4e9a-9704-6744072650c9"
      unitRef="usd">4538000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90YWJsZToyNTBlYzgzOThiODc0OWE1ODcxNDFmNmY4ZDU4NDU0ZS90YWJsZXJhbmdlOjI1MGVjODM5OGI4NzQ5YTU4NzE0MWY2ZjhkNTg0NTRlXzEzLTUtMS0xLTE4Njg5_71cbcd19-0773-4d78-bdb0-ed205bad53f4"
      unitRef="usd">3228000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzE2NTM_21b61e7f-999e-4589-b858-aa528ff20fdd"
      unitRef="number">0.20</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzE2NTc_5c36de54-09ca-487f-9aa6-d38a018fe185"
      unitRef="number">0.24</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzE2NjQ_acd533d0-5322-4615-9628-1eb18f247aaa"
      unitRef="number">0.14</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <cpsi:EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzIxNTk_0c192b3e-e385-4a15-9cdb-5585a6dbc5bf"
      unitRef="number">0.04</cpsi:EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate>
    <cpsi:EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzEwOTk1MTE2MzMxNzE_12d4b3b8-f2fc-4200-88d3-fd1e9d3f3d19"
      unitRef="number">-0.026</cpsi:EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate>
    <cpsi:EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzEwOTk1MTE2MzMxNzc_af383875-5af6-44e0-8fdc-b0b8a3c217ed"
      unitRef="number">-0.019</cpsi:EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i0e6b903e385e4b339042653e96cfa17c_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI2Njk_62156445-3cde-4fb4-80b0-2d3763d5925f"
      unitRef="usd">7900000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i8620ad511d2f4266a2ab4eb9a4cb91a1_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI2NzM_1aa22b4b-51be-4dda-8456-fc93b35b2b71"
      unitRef="usd">12200000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i024ef8a2dc9f40f1846defc35dcecdb7_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI2ODA_469e0778-f826-4756-b913-b3537e0c1809"
      unitRef="usd">27900000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="ibabe8e3244dd4088a48c48662ae961f2_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI5MDY_534c1194-73bb-449f-8556-8f7b13ee15f7"
      unitRef="usd">29900000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i10998deeec4444688c5a007599d555bf_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI5MTA_0618da8a-5577-40ed-b6a9-d209ca05be31"
      unitRef="usd">34400000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="ia74a26d7c02d4a389189216a323dc710_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzI5MTc_e677735e-87c7-44c1-bfa5-64dabdf054ba"
      unitRef="usd">34500000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM0Njc_3decf391-945c-4f7f-85ef-c674c280b199"
      unitRef="usd">600000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTQvZnJhZzphYzFjYjI4OGExY2M0YThlYjJmZWMxYjEyODhhMjA0Yy90ZXh0cmVnaW9uOmFjMWNiMjg4YTFjYzRhOGViMmZlYzFiMTI4OGEyMDRjXzM0Njc_a060f3e5-bb0b-465e-84ff-fb9b99b1089f"
      unitRef="usd">600000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTQ_ddbef18d-6908-4d7d-b27f-4d604133f7b2">STOCK-BASED COMPENSATION AND EQUITY&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's stock-based compensation awards are in the form of restricted stock and performance share awards granted pursuant to the Company's 2012 Restricted Stock Plan for Non-Employee Directors, Amended and Restated 2014 Incentive Plan and 2019 Incentive Plan, as amended (the "Plans"). Stock-based compensation cost is measured at the grant date based on the fair value of the award, and is recognized as an expense over the employee&#x2019;s or non-employee director&#x2019;s requisite service period. As of December&#160;31, 2021, there was a total &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;o&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;f 334,629 sh&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ar&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;es of common stock reserved under the Plans for issuance under future share-based payment arrangements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details total stock-based compensation expense for the years ended December&#160;31, 2021, 2020 and 2019, included in the consolidated statements of operations:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,531&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,782&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pre-tax stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,005&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,822&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: income tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,146)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,471)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,063)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net (after tax) stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,759&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, there was $7.0 million of unrecognized compensation cost related to unvested or unearned, as applicable, stock-based compensation arrangements granted under the Plans, which is expected to be recognized over a weighted-average period of 1.9 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;       &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company grants restricted stock to executive officers, certain key employees and non-employee directors under the  2019 Incentive Plan with the fair value of the awards representing the fair value of the common stock on the date the restricted stock is granted. Shares of restricted stock generally vest in equal annual installments over the applicable vesting period, which ranges from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzE1MDI_77727322-af84-4fb8-9936-e10a3da6d6c2"&gt;one&lt;/span&gt; to three years. The Company records expenses for these grants on a straight-line basis over the applicable vesting periods. Shares of restricted stock have also been issued pursuant to the settlement of performance share awards with one-year performance periods, for which the Company records expenses in the manner described in the "Performance Share Awards" section below.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Although no such one-year performance share awards were granted during 2021, shares issued pursuant to past one-year performance share awards are still subject to vesting.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of restricted stock activity (including shares of restricted stock issued pursuant to the settlement of performance share awards) under the Plans during the years ended December&#160;31, 2021, 2020 and 2019 is as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Grant-Date&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested stock outstanding at January&#160;1, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;475,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;133,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards converted to restricted stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;138,566&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(221,775)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested stock outstanding at December&#160;31, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;525,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards converted to restricted stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(268,067)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,274)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested stock outstanding at December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;412,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(245,455)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,329)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested stock outstanding at December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;314,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Performance Share Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company grants performance share awards to executive officers and certain key employees under the Amended and Restated 2014 Incentive Plan prior to 2019 and under the 2019 Incentive Plan beginning in 2019. The number of shares of common stock earned and issuable under each award is determined at the end of each one-year or three-year performance period, based on the Company's achievement of performance goals predetermined by the Compensation Committee of the Board of Directors at the time of grant. The three-year performance share awards include a modifier to the total number of shares earned based on the Company's total shareholder return ("TSR") compared to an industry index. If certain levels of the performance objective are met, the award results in the issuance of shares of restricted stock or common stock corresponding to such level. One-year performance share awards are then subject to time-based vesting pursuant to which the shares of restricted stock vest in equal annual installments over the applicable vesting period, which is generally three years. Three-year performance share awards result in the issuance of shares of common stock that are not subject to time-based vesting at the conclusion of the three-year performance period if earned.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the event that the Company's financial performance meets the predetermined targets for the performance objectives of the one-year or three-year performance share awards, the Company will issue each award recipient the number of shares of restricted stock or common stock, as applicable, equal to the target award specified in the individual's underlying performance share award agreement. In the event the financial results of the Company exceed the predetermined targets, additional shares up to the maximum award may be issued. In the event the financial results of the Company fall below the predetermined targets, a reduced number of shares may be issued. If the financial results of the Company fall below the threshold performance levels, no shares will be issued. The total number of shares issued for the three-year performance share award may be increased, decreased, or unchanged based on the TSR modifier described above.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The recipients of performance share awards do not receive dividends or possess voting rights during the performance period and, accordingly, the fair value of the one-year performance share awards is the quoted market value of CPSI's common stock on the grant date less the present value of the expected dividends not received during the relevant period. The TSR modifier applicable to the three-year performance share awards is considered a market condition and therefore is reflected in the grant date fair value of the award. A Monte Carlo simulation has been used to account for this market condition in the grant date fair value of the award.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Expense of one-year performance share awards is recognized using the accelerated attribution (graded vesting) method over the period beginning on the date the Company determines that it is probable that the performance criteria will be achieved and ending on the last day of the vesting period for the restricted stock issued in satisfaction of such awards. Expense of three-year performance share awards is recognized using ratable straight-line amortization over the three-year &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;performance period. In the event the Company determines it is no longer probable that the minimum performance level will be achieved, all previously recognized compensation expense related to the applicable awards is reversed in the period such a determination is made.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of performance share award activity under the Plans for the years ended December&#160;31, 2021, 2020 and 2019, is as follows, based on the target award amounts set forth in the performance share award agreements:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Grant-Date&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards outstanding at January 1, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;184,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited or unearned&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards converted to restricted stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(138,566)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards outstanding at December&#160;31, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;200,709&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited or unearned&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35,477)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards converted to restricted stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,678)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards outstanding at December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;252,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited or unearned&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,373)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested and issued&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(75,971)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards outstanding at December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;249,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Repurchases&lt;/span&gt;&lt;/div&gt;On September 4, 2020, our Board of Directors approved a stock repurchase program under which we may repurchase up to $30.0&#160;million of our common stock through September 3, 2022. During 2021, we repurchased 41,965 shares. The approximate dollar value of shares that may yet be repurchased under the stock repurchase program was $28.1 million as of  December&#160;31, 2021. Any future stock repurchase transactions may be made through open market purchases, privately-negotiated transactions, or otherwise in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.  Any repurchase activity will depend on many factors, such as the availability of shares of our common stock, general market conditions, the trading price of our common stock, alternative uses for capital, the Company's financial performance, compliance with the terms of our Amended and Restated Credit Agreement and other factors. Concurrent with the authorization of this stock repurchase program, the Board of Directors opted to indefinitely suspend all quarterly dividends.</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDE_4bbc20fd-7553-4248-a364-bf84e1584040"
      unitRef="shares">334629</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMTA_d98e4525-2fe3-4740-91c6-2e7a4e4f7664">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details total stock-based compensation expense for the years ended December&#160;31, 2021, 2020 and 2019, included in the consolidated statements of operations:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.736%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.171%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.571%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.175%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,531&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,782&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pre-tax stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,005&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,822&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: income tax effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,146)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,471)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,063)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net (after tax) stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,311&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,759&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id3f15d2f848e4bdbb0a00f455ceb4254_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzEtMS0xLTEtMTg2ODk_2bf8990a-c89d-48c3-907b-bdb32688de2d"
      unitRef="usd">990000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0e38cd2e5e6a4451bc6772e3ee528219_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzEtMy0xLTEtMTg2ODk_dd9e7c19-2cbe-446f-8c75-1aa0b7539df4"
      unitRef="usd">1474000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i7b63e7a270284839915ff562ea1e0d93_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzEtNS0xLTEtMTg2ODk_a547ee38-01b1-403e-bce1-7101f1a78cc7"
      unitRef="usd">2040000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic0bff55c32b347aeb41db873273a8db8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzItMS0xLTEtMTg2ODk_d0dcbfcb-cfc6-4611-ace8-98387fd659c8"
      unitRef="usd">4467000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i44ae32f91bc146269e80edf22a7449c6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzItMy0xLTEtMTg2ODk_d633a8ea-ac54-4f25-ae76-5bcab9c8129c"
      unitRef="usd">5531000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id7cf6e2513ca435b9fb17c071eac4b41_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzItNS0xLTEtMTg2ODk_7830165c-6f3c-46c9-923b-f309b35a8282"
      unitRef="usd">7782000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzMtMS0xLTEtMTg2ODk_222d9106-dad1-4191-9c7f-1bf25c19f0a9"
      unitRef="usd">5457000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzMtMy0xLTEtMTg2ODk_bb9217e2-6a7b-4b37-bd20-30addc7b2325"
      unitRef="usd">7005000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzMtNS0xLTEtMTg2ODk_9b680a16-2b3c-4676-833b-a0faca9f9caa"
      unitRef="usd">9822000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzQtMS0xLTEtMTg2ODk_2f18e3ee-475d-4504-ae4d-699f84a270b0"
      unitRef="usd">1146000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzQtMy0xLTEtMTg2ODk_ee4cf23a-fa0c-4065-89a5-af4075515f28"
      unitRef="usd">1471000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzQtNS0xLTEtMTg2ODk_c74cb84d-9d45-4113-aa14-5c0b68ed4948"
      unitRef="usd">2063000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzUtMS0xLTEtMTg2ODk_5f79c321-7f3a-43f7-8ac2-2b6e2823ab7c"
      unitRef="usd">4311000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzUtMy0xLTEtMTg2ODk_29a27d5b-3a9f-448b-96f6-e092e3485024"
      unitRef="usd">5534000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxYTllNGI1ZTk2Y2I0YWQ4YThmODlmMjk3N2JjODBjOC90YWJsZXJhbmdlOjFhOWU0YjVlOTZjYjRhZDhhOGY4OWYyOTc3YmM4MGM4XzUtNS0xLTEtMTg2ODk_e99ca6a9-d5e2-4c6c-ad38-c784c255b85a"
      unitRef="usd">7759000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3Xzg2MA_fb6b00aa-ffcc-4c6b-8db9-f4ff6a785955"
      unitRef="usd">7000000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzEwNzc_9926293c-692f-490c-b3e5-98a8e2aac202">P1Y10M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ib140512d078a49688922f38534fc3a5e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzE1MDg_5bcdc4f4-82bb-4fad-af82-bef6bde868e7">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwODY_e70f5dfa-bc97-4980-af0b-de9287b49839">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTg_8fd17adc-430d-4427-8ff2-0276e2271066">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTI_4ab70afd-b17c-46e9-a06e-ca6eb4b92c56">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwODc_69b0395d-6d84-4b78-8e94-8c52f2e8bc7d">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of restricted stock activity (including shares of restricted stock issued pursuant to the settlement of performance share awards) under the Plans during the years ended December&#160;31, 2021, 2020 and 2019 is as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Grant-Date&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested stock outstanding at January&#160;1, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;475,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;133,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards converted to restricted stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;138,566&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(221,775)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested stock outstanding at December&#160;31, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;525,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards converted to restricted stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(268,067)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,274)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested stock outstanding at December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;412,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(245,455)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,329)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested stock outstanding at December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;314,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i9c9a51c90657471da0d4ed406f6f44eb_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEtMS0xLTEtMTg2ODk_adc90032-169d-4a73-a30f-a8504c917a5a"
      unitRef="shares">475132</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i9c9a51c90657471da0d4ed406f6f44eb_I20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEtMy0xLTEtMTg2ODk_cd90fc2d-b06c-4245-93b3-a7821a3e74d3"
      unitRef="usdPerShare">32.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzItMS0xLTEtMTg2ODk_aa51d40e-ecfe-41ea-a4e5-885811076b63"
      unitRef="shares">133936</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzItMy0xLTEtMTg2ODk_5005a7ac-67ba-4430-b9a9-a5d3ef2c2c88"
      unitRef="usdPerShare">30.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod
      contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzMtMS0xLTEtMTg2ODk_f9a2e2d4-d3d3-4cf6-b9e7-b243b718d483"
      unitRef="shares">138566</cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod>
    <cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue
      contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzMtMy0xLTEtMTg2ODk_0e5e9ff3-cc66-487f-af7d-70d252304ec7"
      unitRef="usdPerShare">29.80</cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzQtMS0xLTEtMTg2ODk_d987a123-bf18-4683-be2c-c7f81a4ffb48"
      unitRef="shares">221775</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i57ae4acefba24604854cf50efcc3fd7d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzQtMy0xLTEtMTg2ODk_fe19bf62-ce4d-45a5-8614-41e5cd0ea74d"
      unitRef="usdPerShare">33.48</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i8f8d63ff189b4c629197853c2d594eaf_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzYtMS0xLTEtMTg2ODk_986a9391-6dac-4ce7-b091-ad0044a4e911"
      unitRef="shares">525859</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i8f8d63ff189b4c629197853c2d594eaf_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzYtMy0xLTEtMTg2ODk_ac439786-726c-483e-9dad-06e89b79757b"
      unitRef="usdPerShare">30.51</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzctMS0xLTEtMTg2ODk_8ec29a47-a63b-485c-bbe9-377f7fd0b830"
      unitRef="shares">136771</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzctMy0xLTEtMTg2ODk_2d114646-e2bc-4e2f-8f0f-a2335a4938de"
      unitRef="usdPerShare">26.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod
      contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzgtMS0xLTEtMTg2ODk_d8683de4-eedb-4c0c-9565-e54ebdc4cbdd"
      unitRef="shares">19678</cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod>
    <cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue
      contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzgtMy0xLTEtMTg2ODk_b6d8c9de-ef67-45db-b8b2-256e520a4344"
      unitRef="usdPerShare">30.15</cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzktMS0xLTEtMTg2ODk_9fbb1d29-4bb8-4caf-bf11-ad92f63b61cb"
      unitRef="shares">268067</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzktMy0xLTEtMTg2ODk_fcce6116-a910-4515-95c9-5f7c95f5bf49"
      unitRef="usdPerShare">30.80</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEwLTEtMS0xLTE4Njg5_e0afd761-323e-41a3-9878-a17578e20f3b"
      unitRef="shares">1274</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i691d0ed7507f4c89a334d4f08d207a84_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEwLTMtMS0xLTE4Njg5_3286cfa8-ddd6-4a05-8da1-24c559c46883"
      unitRef="usdPerShare">26.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="if7bc0fdebc8b4555bb10cb1c47f7ee1f_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzExLTEtMS0xLTE4Njg5_f3f0f29f-88ef-42e1-b8e9-8a03c4f23fde"
      unitRef="shares">412967</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="if7bc0fdebc8b4555bb10cb1c47f7ee1f_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzExLTMtMS0xLTE4Njg5_9a086e01-6d72-4c4a-999c-83d589598de2"
      unitRef="usdPerShare">28.87</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEyLTEtMS0xLTE4Njg5_07619d68-bbe7-4a28-8358-fdf92718ec68"
      unitRef="shares">153700</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzEyLTMtMS0xLTE4Njg5_9e317754-8a9e-4665-b4c5-7fc88ce57c9b"
      unitRef="usdPerShare">31.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE0LTEtMS0xLTE4Njg5_17cd5038-a278-496d-8f7f-70af4907e051"
      unitRef="shares">245455</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE0LTMtMS0xLTE4Njg5_5342cf32-cf12-40b7-be92-b3cdf6b50932"
      unitRef="usdPerShare">29.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE1LTEtMS0xLTE4Njg5_85735448-4ea6-4766-9687-cd6bbce9f2f4"
      unitRef="shares">6329</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ibcfc42837b5d4412b946d12bf50143d9_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE1LTMtMS0xLTE4Njg5_0667fd6a-7cad-476f-a4d6-d5768a916f1a"
      unitRef="usdPerShare">29.10</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i5b2e405c72c54d09a77a962688d6920a_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE2LTEtMS0xLTE4Njg5_d16cca82-98e7-4441-96a9-13bc88dce183"
      unitRef="shares">314883</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i5b2e405c72c54d09a77a962688d6920a_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZToxOGVjMWY5Y2IxM2E0MmNjOWI0OTdhMmViYTIwYTAxYS90YWJsZXJhbmdlOjE4ZWMxZjljYjEzYTQyY2M5YjQ5N2EyZWJhMjBhMDFhXzE2LTMtMS0xLTE4Njg5_9875e367-5d7a-4304-81f2-22a0fd3e9cf2"
      unitRef="usdPerShare">29.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTk_136c0fcc-b62b-4690-a77e-544f761d4c74">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDc_3b7f3549-4e83-4ba3-a4f7-8cad01876a40">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwODg_0cee250f-29f1-4f34-a2cc-866e4326079f">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDI_3734b32f-aa28-4e0b-aed6-6bb8bea237b8">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzMzMzU_6affe9d8-6e33-43ba-ac89-2d7e57e03691">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTU_fd172cff-82ae-4320-ae8d-53098d70beb8">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwODk_b57db8bb-0ba5-48a6-953e-1c318aa568b9">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDM_407b442f-0fe5-4a19-84a8-ed3ac2e39b75">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDQ_169d04a8-aaaa-44b1-a4cc-868203bda03f">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTY_e73683cb-ca2c-4855-991a-9d045bd3aa9e">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDA_c5c82fdd-2dd4-4f62-84f0-d2763c6eeaa4">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTA_034c4563-ec43-409f-bcca-d9292c4c0721">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i5e3a5fe5a4ba414ebd210446ce104332_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDg_089ad7a0-c8d3-416c-9a75-cfc7f5e4a76f">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMDU_7d55e42c-e449-4221-a520-438a19896bda">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i8365f1fc5cb545e8874277aa7a171541_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcxMTE_cb067168-39f5-40a2-92ba-0660ed7ef2f5">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzcwOTE_1c21d96b-b7df-424c-bbef-b77d9f2e770a">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of performance share award activity under the Plans for the years ended December&#160;31, 2021, 2020 and 2019, is as follows, based on the target award amounts set forth in the performance share award agreements:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Grant-Date&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards outstanding at January 1, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;184,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,310&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited or unearned&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards converted to restricted stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(138,566)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards outstanding at December&#160;31, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;200,709&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited or unearned&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35,477)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards converted to restricted stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,678)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards outstanding at December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;252,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited or unearned&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,373)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested and issued&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(75,971)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards outstanding at December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;249,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ib500e6cd1dfa4de58cdb8277daa0844a_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEtMS0xLTEtMTg2ODk_57507b64-1d0f-4d15-bcb9-a582fe8568e6"
      unitRef="shares">184776</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ib500e6cd1dfa4de58cdb8277daa0844a_I20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEtMy0xLTEtMTg2ODk_36bf6a9f-2e54-4acd-a78c-203079429104"
      unitRef="usdPerShare">30.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzItMS0xLTEtMTg2ODk_bdf53170-9841-4c78-9fd0-df7aad4216fd"
      unitRef="shares">110310</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzItMy0xLTEtMTg2ODk_b6adbcd8-0084-4253-ad27-921b61e35947"
      unitRef="usdPerShare">30.95</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod
      contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzMtMS0xLTEtMTg2ODk_c8eea291-5d86-421e-b5c9-6096b4bd466c"
      unitRef="shares">44189</cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod>
    <cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue
      contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzMtMy0xLTEtMTg2ODk_8e6ac414-cdc1-489e-afd1-a832cffc313b"
      unitRef="usdPerShare">29.77</cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue>
    <cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod
      contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzQtMS0xLTEtMTg2ODk_8f34360f-f94a-434f-9233-fec1ce58e122"
      unitRef="shares">-138566</cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod>
    <cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue
      contextRef="i2c915b59b0f1439e9255e7a46763063d_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzQtMy0xLTEtMTg2ODk_df1aea25-b0a9-45f4-9961-d9a04f04d2da"
      unitRef="usdPerShare">29.80</cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i35f777e2bdc0495aa175506cf78dc5e0_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzUtMS0xLTEtMTg2ODk_7f828499-7c94-4beb-9ef0-8cf8060c99c9"
      unitRef="shares">200709</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i35f777e2bdc0495aa175506cf78dc5e0_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzUtMy0xLTEtMTg2ODk_e4c99b63-4f2e-4fb2-9474-c2bcce17ba68"
      unitRef="usdPerShare">30.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzYtMS0xLTEtMTg2ODk_5a98b3c4-7971-4ba3-bb61-3f9936bbfa15"
      unitRef="shares">107298</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzYtMy0xLTEtMTg2ODk_3edf21fe-9829-4585-9f7c-5cf6e1a30159"
      unitRef="usdPerShare">26.96</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod
      contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzctMS0xLTEtMTg2ODk_6fd3d416-a0e4-404a-9ef7-998c8a6704ee"
      unitRef="shares">-35477</cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod>
    <cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue
      contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzctMy0xLTEtMTg2ODk_f0427895-8e8a-4f5f-856d-be4e780fe28e"
      unitRef="usdPerShare">30.15</cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue>
    <cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod
      contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzgtMS0xLTEtMTg2ODk_3be3a67a-6384-4584-a21b-c1102173fdf4"
      unitRef="shares">-19678</cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod>
    <cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue
      contextRef="i5c91a57b27e745699a37c0361d73c8cc_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzgtMy0xLTEtMTg2ODk_c2680037-fbc2-470e-bffa-d0604106a513"
      unitRef="usdPerShare">30.15</cpsi:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i4f09ca7c6652413fbd5211df3eff5fb1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzktMS0xLTEtMTg2ODk_e33598ab-72b7-4089-82ea-8676f5986bea"
      unitRef="shares">252852</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i4f09ca7c6652413fbd5211df3eff5fb1_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzktMy0xLTEtMTg2ODk_48f9bc66-210e-4f98-84d3-149e40d69f77"
      unitRef="usdPerShare">29.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEwLTEtMS0xLTE4Njg5_9d1f5775-c4d2-4208-a1e8-4239181bd0c4"
      unitRef="shares">93444</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEwLTMtMS0xLTE4Njg5_198cfffd-8fbd-4cc0-ad52-c820514fa00e"
      unitRef="usdPerShare">31.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod
      contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzExLTEtMS0xLTE4Njg5_59ac5c4c-5037-46e0-b677-ec847cde2848"
      unitRef="shares">-20373</cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod>
    <cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue
      contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzExLTMtMS0xLTE4Njg5_8eb1fa9f-beda-4ab1-8aea-a014d98a38e5"
      unitRef="usdPerShare">29.92</cpsi:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEyLTEtMS0xLTE4Njg5_cfb199c7-65cc-4e29-9fe1-e28f19b66bbe"
      unitRef="shares">75971</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="id3a9d308f5654a2f9e1044a24fcbc159_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEyLTMtMS0xLTE4Njg5_43be075c-a8df-4a4f-9f47-bbff5e3a7452"
      unitRef="usdPerShare">30.50</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i33920c99045546bd851d4134166c7640_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEzLTEtMS0xLTE4Njg5_3eb94adb-e640-4047-9fd5-3dbf7ba36983"
      unitRef="shares">249952</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i33920c99045546bd851d4134166c7640_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90YWJsZTpkMmM0NGUxZDU2ZTk0NGM2YjBhNDJlMDViMjZiMjZhNS90YWJsZXJhbmdlOmQyYzQ0ZTFkNTZlOTQ0YzZiMGE0MmUwNWIyNmIyNmE1XzEzLTMtMS0xLTE4Njg5_04061b9c-6117-4178-9b12-a4b0549935bd"
      unitRef="usdPerShare">29.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i8ad00f52d96b434894058fcdac2ce52e_I20200904"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzYxNzk_c38db949-62f9-4280-b9b5-a19700c456f2"
      unitRef="usd">30000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzYyNTc_b1efe50d-409f-43bb-9616-4e36bc389049"
      unitRef="shares">41965</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNTcvZnJhZzplN2Y1ZmZmNWQwYWI0MzJlYWJjYTI5ZmZiMTQzN2Y1Ny90ZXh0cmVnaW9uOmU3ZjVmZmY1ZDBhYjQzMmVhYmNhMjlmZmIxNDM3ZjU3XzYzNzQ_31d36fec-6fcb-4f25-b126-6bad916290c8"
      unitRef="usd">28100000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:ConcentrationRiskDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjAvZnJhZzo2NDEyNWFlNTExNjY0NzI3YTA3YTlhMzEyODJhZmVkMS90ZXh0cmVnaW9uOjY0MTI1YWU1MTE2NjQ3MjdhMDdhOWEzMTI4MmFmZWQxXzEwNjY_05f157ba-a60f-423e-b168-43b03af8befe">CONCENTRATION OF CREDIT RISK&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial instruments, which potentially subject the Company to concentration of credit risk, consist principally of temporary cash investments and trade receivables (including financing receivables). The Company places its temporary cash investments with credit-worthy, high-quality financial institutions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s customer base is concentrated in the healthcare industry. Customers are primarily located throughout the United States. The Company requires no collateral or other security to support customer trade receivables. An allowance for credit losses for trade receivables and an allowance for credit losses for financing receivables have been established for potential credit losses based on historical collection experience.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company maintains its cash and cash equivalents in bank deposit accounts, which, at times, may exceed federally insured limits. The Company has not experienced any losses in such accounts and does not believe it is exposed to any significant credit risk on cash and cash equivalents.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:FinancingReceivablesTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyMzA_b76f3d1f-1dfa-4493-a7df-507294e40dbd">FINANCING RECEIVABLES&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Short-Term Payment Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company provides fixed monthly payment arrangements ("short-term payment plans") over terms ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzI0MQ_7e7d4c17-971e-4d74-8af9-39fd108f1189"&gt;three&lt;/span&gt; to twelve months for certain add-on software installations. As a practical expedient, we do not adjust the amount of consideration recognized as revenue for the financing component as unearned income when we expect payment within one year or less. These receivables, included in the current portion of financing receivables, were comprised of the following on December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term payment plans, gross&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(99)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term payment plans, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,874&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Long-Term Financing Arrangements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Additionally, the Company provides financing for purchases of its information and patient care systems to certain healthcare providers under long-term financing arrangements expiring in various years through 2026. Under long-term financing arrangements, the transaction price is adjusted by a discount rate that reflects market conditions and that would be used for a separate financing transaction between the Company and licensee at contract inception, and takes into account the credit characteristics of the licensee and market interest rates as of the date of the agreement. As such, the amount of fixed fee revenue recognized at the beginning of the license term will be reduced by the calculated financing component. As payments are received from the licensee, the Company recognizes a portion of the financing component as interest income, reported as other income in the consolidated statements of operations. These receivables typically have terms from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzE2MzE_f4fadd3a-fc0c-450b-bdb7-8b9e189daf6d"&gt;two&lt;/span&gt; to seven years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;  The components of these receivables were as follows on December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term financing arrangements, gross&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,082&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(716)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,390)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: unearned income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,339)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,268)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term financing arrangements, net&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum payments to be received subsequent to December&#160;31, 2021 are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.029%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.669%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.131%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total minimum payments to be received&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(716)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: unearned income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,339)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Receivables, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Credit Quality of Financing Receivables and Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table is a roll-forward of the allowance for financing credit losses for the years ended December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.240%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.212%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.573%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.212%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.573%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.212%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.573%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.212%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.573%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.220%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Charge-offs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,248)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,971&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,114)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s financing receivables are comprised of a single portfolio segment, as the balances are all derived from short-term payment plan arrangements and long-term financing arrangements within our target market of community hospitals. The Company evaluates the credit quality of its financing receivables based on a combination of factors, including, but not limited to, customer collection experience, economic conditions, the customer&#x2019;s financial condition, and known risk characteristics impacting the respective customer base of community hospitals, the most notable of which relate to enacted and potential changes in Medicare and Medicaid reimbursement rates as community hospitals typically generate a significant portion of their revenues and related cash flows from beneficiaries of these programs. In addition to specific account identification, the Company utilizes historical collection experience to establish the allowance for credit losses. Financing receivables are written off only after the Company has exhausted all collection efforts. Write-off amounts during 2020 were uncharacteristically high as we wrote off large balances for a handful of customers for which specific reserves had been established as of December 31, 2019. Write-off amounts normalized during 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Customer payments are considered past due if a scheduled payment is not received within contractually agreed upon terms. To facilitate customer collection and credit monitoring efforts, financing receivable amounts are invoiced and reclassified to trade accounts receivable when they become due, with all invoiced amounts placed on nonaccrual status. As a result, all past due amounts related to the Company&#x2019;s financing receivables are included in trade accounts receivable in the accompanying consolidated balance sheets. The following is an analysis of the age of financing receivables amounts (excluding short-term payment plans) that have been reclassified to trade accounts receivable and were past due as of December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.004%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.069%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.412%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.141%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.565%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.069%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.565%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1 to 90 Days&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Past Due&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91&#160;to&#160;180&#160;Days&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Past Due&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;181 + Days&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Past Due&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Past Due&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;864&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, the Company may agree to alternative payment terms outside of the terms of the original financing receivable agreement due to customer difficulties in achieving the original terms. In general, such alternative payment arrangements do not result in a re-aging of the related receivables. Rather, payments pursuant to any alternative payment arrangements are applied to the already outstanding invoices beginning with the oldest outstanding invoices as the payments are received.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Because amounts are reclassified to trade accounts receivable when they become due, there are no past due amounts included within the financing receivables or the financing receivables, current portion, net amounts in the accompanying consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company utilizes an aging of trade accounts receivable as the primary credit quality indicator for its financing receivables, which is facilitated by the reclassification of customer payment amounts to trade accounts receivable when they become due. The table below categorizes customer financing receivable balances (excluding short term payment plans), none of which are considered past due, based on the age of the oldest payment outstanding that has been reclassified to trade accounts receivable:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stratification of uninvoiced client financing receivables based on aging of related trade accounts receivable:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Uninvoiced client financing receivables related to trade accounts receivable that are 1 to 90 Days Past Due&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Uninvoiced client financing receivables related to trade accounts receivable that are 91 to 180 Days Past Due&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,092&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Uninvoiced client financing receivables related to trade accounts receivable that are 181+Days Past Due&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total uninvoiced client financing receivables balances of clients with a trade accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total uninvoiced client financing receivables of clients with no related trade accounts receivable &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total financing receivables with contractual maturities of one year or less&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(722)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,489)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total financing receivables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:FinancingReceivablesTextBlock>
    <cpsi:FinancingReceivableTerm
      contextRef="i504af8f371ac41aeadb509b6640f79cf_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzI0Nw_44a3c402-86fb-45fa-b539-489e8a97797c">P12M</cpsi:FinancingReceivableTerm>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyMzE_742eca30-8f21-4117-82f9-7f48152eb586">These receivables, included in the current portion of financing receivables, were comprised of the following on December&#160;31, 2021 and 2020:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term payment plans, gross&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(99)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term payment plans, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,874&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:NotesAndLoansReceivableGrossCurrent
      contextRef="i96cce644b5b541e3ab151b39dd56fea8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzEtMS0xLTEtMTg2ODk_1bfa4e34-3d10-44da-b12e-8fb03a958e2d"
      unitRef="usd">121000</us-gaap:NotesAndLoansReceivableGrossCurrent>
    <us-gaap:NotesAndLoansReceivableGrossCurrent
      contextRef="i4a8edb83709a44e493b1a2f14209c2d6_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzEtMy0xLTEtMTg2ODk_53f4fcf0-c301-4a76-9f63-ee2eb5a0528a"
      unitRef="usd">1973000</us-gaap:NotesAndLoansReceivableGrossCurrent>
    <us-gaap:AllowanceForNotesAndLoansReceivableCurrent
      contextRef="i96cce644b5b541e3ab151b39dd56fea8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzItMS0xLTEtMTg2ODk_c89fdf83-5679-4bf9-9d91-acaed749fbca"
      unitRef="usd">6000</us-gaap:AllowanceForNotesAndLoansReceivableCurrent>
    <us-gaap:AllowanceForNotesAndLoansReceivableCurrent
      contextRef="i4a8edb83709a44e493b1a2f14209c2d6_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzItMy0xLTEtMTg2ODk_aa386549-1419-4891-879d-723067a28db1"
      unitRef="usd">99000</us-gaap:AllowanceForNotesAndLoansReceivableCurrent>
    <us-gaap:NotesAndLoansReceivableNetCurrent
      contextRef="i96cce644b5b541e3ab151b39dd56fea8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzMtMS0xLTEtMTg2ODk_ddaa8399-6672-440c-9c39-579207e08265"
      unitRef="usd">115000</us-gaap:NotesAndLoansReceivableNetCurrent>
    <us-gaap:NotesAndLoansReceivableNetCurrent
      contextRef="i4a8edb83709a44e493b1a2f14209c2d6_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTpiMTcyNTBkYWZiZjc0YmFiODk0YjdiYmRkYWNmYWRjMy90YWJsZXJhbmdlOmIxNzI1MGRhZmJmNzRiYWI4OTRiN2JiZGRhY2ZhZGMzXzMtMy0xLTEtMTg2ODk_2cade1d1-d232-44f8-a974-437ab1ef3660"
      unitRef="usd">1874000</us-gaap:NotesAndLoansReceivableNetCurrent>
    <cpsi:FinancingReceivableTerm
      contextRef="i97294598b55e4a169139e60c6100574a_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzE2Mzc_5ffc0ce4-0de3-4a70-bf17-12a4f97e3723">P7Y</cpsi:FinancingReceivableTerm>
    <cpsi:ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyNDE_71284a6b-e191-43b1-bccd-b21ca1b29064">The components of these receivables were as follows on December&#160;31, 2021 and 2020:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term financing arrangements, gross&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,082&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(716)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,390)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: unearned income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,339)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,268)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term financing arrangements, net&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</cpsi:ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock>
    <us-gaap:NotesReceivableGross
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzEtMS0xLTEtMTg2ODk_b882e6cb-07d8-4b07-bcca-38535c53b51a"
      unitRef="usd">15659000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="if5b4079cad9e4f0a9acd21420703e9e1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzEtMy0xLTEtMTg2ODk_dd507ecd-c8f8-4ff4-8d57-eef3ebdf40c8"
      unitRef="usd">24082000</us-gaap:NotesReceivableGross>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzItMS0xLTEtMTg2ODk_298c739e-f4c2-4e34-982e-dfe9c7a135e1"
      unitRef="usd">716000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="if5b4079cad9e4f0a9acd21420703e9e1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzItMy0xLTEtMTg2ODk_f07ff02a-8df0-4549-acb4-d180392576b8"
      unitRef="usd">1390000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableDeferredIncome
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzMtMS0xLTEtMTg2ODk_398db90f-824c-4929-86a9-6b5b54c7b830"
      unitRef="usd">1339000</us-gaap:FinancingReceivableDeferredIncome>
    <us-gaap:FinancingReceivableDeferredIncome
      contextRef="if5b4079cad9e4f0a9acd21420703e9e1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzMtMy0xLTEtMTg2ODk_9f13cef6-4a5e-4e02-a24a-d279e32d0f0a"
      unitRef="usd">2268000</us-gaap:FinancingReceivableDeferredIncome>
    <us-gaap:NotesReceivableNet
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzQtMS0xLTEtMTg2ODk_b693a9a0-ed1e-4840-97da-82fa03efd989"
      unitRef="usd">13604000</us-gaap:NotesReceivableNet>
    <us-gaap:NotesReceivableNet
      contextRef="if5b4079cad9e4f0a9acd21420703e9e1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTplOTU5ZWY1MjEwN2E0NjAyOWRjN2EwYmQ1YzBjYTNkZS90YWJsZXJhbmdlOmU5NTllZjUyMTA3YTQ2MDI5ZGM3YTBiZDVjMGNhM2RlXzQtMy0xLTEtMTg2ODk_66c9a68f-c6c9-4371-b0db-1f965c9a4007"
      unitRef="usd">20424000</us-gaap:NotesReceivableNet>
    <us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyMjU_5bc38092-5612-42ac-a102-c9627908ab3e">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum payments to be received subsequent to December&#160;31, 2021 are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.029%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.669%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.131%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total minimum payments to be received&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(716)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: unearned income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,339)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Receivables, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock>
    <us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzEtMS0xLTEtMTg2ODk_32ec89ab-f07f-406c-98e8-a8476fba8da0"
      unitRef="usd">7060000</us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths>
    <us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzItMS0xLTEtMTg2ODk_0d42b2d0-b3a4-44e0-873d-13d7ba34c583"
      unitRef="usd">4393000</us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears>
    <us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzMtMS0xLTEtMTg2ODk_c7a7cc96-b6b1-46be-973b-917fb34e40be"
      unitRef="usd">2726000</us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears>
    <us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzQtMS0xLTEtMTg2ODk_2a80d799-6d2c-4729-9a63-1f9b72e2ce74"
      unitRef="usd">1309000</us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears>
    <us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzUtMS0xLTEtMTg2ODk_3aaef849-0095-4306-8845-02d53846d3b9"
      unitRef="usd">153000</us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears>
    <us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzYtMS0xLTEtMTg2ODk_22fc930d-03d8-43c2-a5f1-5107fd937f07"
      unitRef="usd">18000</us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter>
    <us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzctMS0xLTEtMTg2ODk_5fa342e4-550a-431c-bb87-d8146662ad62"
      unitRef="usd">15659000</us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzgtMS0xLTEtMTg2ODk_298c739e-f4c2-4e34-982e-dfe9c7a135e1"
      unitRef="usd">716000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableDeferredIncome
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzktMS0xLTEtMTg2ODk_398db90f-824c-4929-86a9-6b5b54c7b830"
      unitRef="usd">1339000</us-gaap:FinancingReceivableDeferredIncome>
    <us-gaap:NotesReceivableNet
      contextRef="ie066d5ddf8a942c6b4ea6830db9f524e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo2MDc0M2U0ODZmMGM0M2EyYjdmNmNiZDM4OTU5NDk1OC90YWJsZXJhbmdlOjYwNzQzZTQ4NmYwYzQzYTJiN2Y2Y2JkMzg5NTk0OTU4XzEwLTEtMS0xLTE4Njg5_965c4889-9a48-46b7-974f-01cf4dde207e"
      unitRef="usd">13604000</us-gaap:NotesReceivableNet>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyMjc_3657e246-e9ba-4d83-9c5d-5b09572ee708">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table is a roll-forward of the allowance for financing credit losses for the years ended December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.444%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.240%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.212%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.573%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.212%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.573%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.212%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.573%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.212%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.573%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.220%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Charge-offs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recoveries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,248)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,971&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,114)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzEtMS0xLTEtMTg2ODk_c173f2d3-0a5c-4d5b-acb2-b47147b7ad11"
      unitRef="usd">1489000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzEtMy0xLTEtMTg2ODk_e3b1a923-a064-4b06-b658-b4934eb432c1"
      unitRef="usd">481000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzEtNS0xLTEtMTg2ODk_36cc1604-78a1-4354-80bc-f47b29370c41"
      unitRef="usd">1248000</us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs>
    <us-gaap:FinancingReceivableAllowanceForCreditLossesRecovery
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzEtNy0xLTEtMTg2ODk_7b6096bb-8c25-49e0-a60c-695ff2be1ca8"
      unitRef="usd">0</us-gaap:FinancingReceivableAllowanceForCreditLossesRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzEtOS0xLTEtMTg2ODk_34014b57-70bf-47c6-b6f9-6a34de9aa3c6"
      unitRef="usd">722000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="iade483e7d2224faaba6643c762704fb8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzItMS0xLTEtMTg2ODk_77140e1c-696d-4b5c-9132-6871a3683900"
      unitRef="usd">2971000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzItMy0xLTEtMTg2ODk_5e098a86-1673-4957-8bac-c9e378776c6e"
      unitRef="usd">1632000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzItNS0xLTEtMTg2ODk_93773630-f6f1-4091-accf-03a3fa901788"
      unitRef="usd">3114000</us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs>
    <us-gaap:FinancingReceivableAllowanceForCreditLossesRecovery
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzItNy0xLTEtMTg2ODk_5dde940a-0dc6-4039-b09c-311cc63c0497"
      unitRef="usd">0</us-gaap:FinancingReceivableAllowanceForCreditLossesRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTo0Nzg4MTBjMmQ4ODE0MWFhYjFkZGQyNzQ1MGJmM2NkNi90YWJsZXJhbmdlOjQ3ODgxMGMyZDg4MTQxYWFiMWRkZDI3NDUwYmYzY2Q2XzItOS0xLTEtMTg2ODk_7b1ad435-cd98-4e79-923f-8f95c5309f3b"
      unitRef="usd">1489000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:PastDueFinancingReceivablesTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyMzM_7542e5a9-92f5-421a-9f0d-f9472e5b5939">The following is an analysis of the age of financing receivables amounts (excluding short-term payment plans) that have been reclassified to trade accounts receivable and were past due as of December&#160;31, 2021 and 2020:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.004%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.069%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.412%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.141%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.565%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.069%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.565%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.075%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1 to 90 Days&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Past Due&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91&#160;to&#160;180&#160;Days&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Past Due&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;181 + Days&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Past Due&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Past Due&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;864&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:PastDueFinancingReceivablesTableTextBlock>
    <us-gaap:NotesReceivableGross
      contextRef="i4f71f38e00134d0a967eef57416d23ea_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzEtMS0xLTEtMTg2ODk_1be500d7-d815-4b58-b1b2-476bc82514b6"
      unitRef="usd">713000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i19fe20fadbec473e84c2cefa050549ce_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzEtMy0xLTEtMTg2ODk_d644b120-75b3-4643-b376-8417245efda4"
      unitRef="usd">78000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="idfbb6db55bcc475c95090a63e03223cb_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzEtNS0xLTEtMTg2ODk_293c4967-bdad-4132-8751-834eadacee2e"
      unitRef="usd">73000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i394e0c51c5204c65ba3c50821206516f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzEtNy0xLTEtMTg2ODk_26beddc9-be20-4253-b0ea-996b002535dd"
      unitRef="usd">864000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i5896a48759ed47e986e160780dca3cc6_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzItMS0xLTEtMTg2ODk_43f4e59d-be18-47ec-8767-5bc4394ee250"
      unitRef="usd">1270000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i2d18e9bb2beb4dfe95e84c699bba98b9_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzItMy0xLTEtMTg2ODk_943f8129-0637-418d-ac60-052ffa4e44e2"
      unitRef="usd">227000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i90899b30bab747b9be60aebbb78c0306_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzItNS0xLTEtMTg2ODk_30235f89-3323-4c14-a495-283d944c4a69"
      unitRef="usd">672000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i4338a3b0df2442259fe4743db2d4f147_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZTowZGI1ODc2OTI0YjE0YzU1OGVhMDdhYzM4NTdkYzA0Mi90YWJsZXJhbmdlOjBkYjU4NzY5MjRiMTRjNTU4ZWEwN2FjMzg1N2RjMDQyXzItNy0xLTEtMTg2ODk_2ea010b5-3b33-46e2-a14f-09dfa35e194b"
      unitRef="usd">2169000</us-gaap:NotesReceivableGross>
    <us-gaap:FinancingReceivableCreditQualityIndicatorsTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90ZXh0cmVnaW9uOjg3MWE1ZmM1M2Y0OTQxMjBiMTM5MzExNDY4NjRiNzY1XzUyNDA_fd9d823f-263d-426f-a885-f224ea0abcd0">The table below categorizes customer financing receivable balances (excluding short term payment plans), none of which are considered past due, based on the age of the oldest payment outstanding that has been reclassified to trade accounts receivable:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.883%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.627%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.152%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stratification of uninvoiced client financing receivables based on aging of related trade accounts receivable:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Uninvoiced client financing receivables related to trade accounts receivable that are 1 to 90 Days Past Due&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Uninvoiced client financing receivables related to trade accounts receivable that are 91 to 180 Days Past Due&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,092&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Uninvoiced client financing receivables related to trade accounts receivable that are 181+Days Past Due&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total uninvoiced client financing receivables balances of clients with a trade accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total uninvoiced client financing receivables of clients with no related trade accounts receivable &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total financing receivables with contractual maturities of one year or less&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(722)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,489)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total financing receivables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:FinancingReceivableCreditQualityIndicatorsTableTextBlock>
    <us-gaap:NotesReceivableGross
      contextRef="ia34e41edc0bb4aa0bee1d2ed39d494ff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzItMS0xLTEtMTg2ODk_08e63105-dd8b-4e87-b26e-9d0c3ffb20dc"
      unitRef="usd">9100000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i3bd916e526b841e5a2f4c5805b0c460b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzItMy0xLTEtMTg2ODk_27928a3d-87f2-42b9-b65d-65a686da3be7"
      unitRef="usd">11719000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i7f089113fe87450796dfec96d18ff113_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzMtMS0xLTEtMTg2ODk_fa5b15df-a05f-42bb-b08d-2ba87612de6d"
      unitRef="usd">329000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i495ee455a3694ab1bc3a37cbf0792e84_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzMtMy0xLTEtMTg2ODk_cd61d777-3188-40a7-b5d5-78d27ea427dd"
      unitRef="usd">1092000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="id98187245f5942d5bb53b2ff9fefa443_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzQtMS0xLTEtMTg2ODk_3874ddd6-5d77-480c-bcdc-15c5d7daf985"
      unitRef="usd">386000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i772210ffd2864501b2fa8347302d196d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzQtMy0xLTEtMTg2ODk_0796dedf-9f70-414c-8157-17c69b6974e9"
      unitRef="usd">2668000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i50780332897842d8a170c8d913737dca_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzUtMS0xLTEtMTg2ODk_e7af190b-8118-42c9-9d84-e93202fc5f50"
      unitRef="usd">9815000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i885c4719103c4223917a1819fdc77fae_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzUtMy0xLTEtMTg2ODk_79e59777-c037-4826-8906-0a9fd704132a"
      unitRef="usd">15479000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="iabc96cc01477497c865be40696b76660_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzYtMS0xLTEtMTg2ODk_9b019ab6-a894-444b-a6af-4c2f27826d65"
      unitRef="usd">4505000</us-gaap:NotesReceivableGross>
    <us-gaap:NotesReceivableGross
      contextRef="i0854ed4b072644c5b0be09e992f37e17_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzYtMy0xLTEtMTg2ODk_6526c106-0057-4466-9925-6593e69c612a"
      unitRef="usd">6335000</us-gaap:NotesReceivableGross>
    <cpsi:FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzctMS0xLTEtMTg2ODk_20b7de56-ee8c-4faa-83f9-adedb8be4bac"
      unitRef="usd">121000</cpsi:FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess>
    <cpsi:FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzctMy0xLTEtMTg2ODk_015703df-a63a-4a37-bd46-9ec87662ed1d"
      unitRef="usd">1973000</cpsi:FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzgtMS0xLTEtMTg2ODk_4081927b-71dd-45e9-b035-d48e475037e2"
      unitRef="usd">722000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzgtMy0xLTEtMTg2ODk_b3f2a51e-fd00-4d50-9ea8-31c1891213ca"
      unitRef="usd">1489000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:NotesReceivableNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzktMS0xLTEtMTg2ODk_0f173ff4-3375-44d8-85a9-660bec4c524a"
      unitRef="usd">13719000</us-gaap:NotesReceivableNet>
    <us-gaap:NotesReceivableNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjMvZnJhZzo4NzFhNWZjNTNmNDk0MTIwYjEzOTMxMTQ2ODY0Yjc2NS90YWJsZToxZGI5ZDEwMWEwZGQ0YTZjYTI4ZjUzMjNiOWUwZWU2ZC90YWJsZXJhbmdlOjFkYjlkMTAxYTBkZDRhNmNhMjhmNTMyM2I5ZTBlZTZkXzktMy0xLTEtMTg2ODk_c6138206-92d0-4126-83e5-6213cfe1b763"
      unitRef="usd">22298000</us-gaap:NotesReceivableNet>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzQ2NA_8f6db597-e26a-4702-b25a-5f41c889286d">INTANGIBLE ASSETS AND GOODWILL&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our purchased definite-lived intangible assets as of December&#160;31, 2021 and 2020 are summarized as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.945%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.963%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.963%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.963%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.966%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer Relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademark&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Developed Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross carrying amount, beginning of period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41,738)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,177)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,372)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(67,287)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net intangible assets as of December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining years of useful life&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer Relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademark&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Developed Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross carrying amount, beginning of period &lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(33,612)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,297)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,592)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(53,501)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net intangible assets as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,758&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table represents the remaining amortization of definite-lived intangible assets as of December&#160;31, 2021:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.345%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.102%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;For the year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,950&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the change in the carrying amount of goodwill by segment for the years ended December&#160;31, 2021, 2020, and 2019:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.665%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.665%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.817%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Post-acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;TruBridge&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2018&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150,216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150,216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;177,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We determined there was no impairment to goodwill as of December 31, 2021, 2020, or 2019.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzQ2NQ_fd0bf7f7-dfe1-469a-a459-8f6ac9daf350">&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our purchased definite-lived intangible assets as of December&#160;31, 2021 and 2020 are summarized as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.945%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.963%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.963%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.963%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.966%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer Relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademark&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Developed Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross carrying amount, beginning of period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41,738)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,177)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,372)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(67,287)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net intangible assets as of December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining years of useful life&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="21" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer Relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademark&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Developed Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross carrying amount, beginning of period &lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(33,612)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,297)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,592)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(53,501)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net intangible assets as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,758&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i2be536a0f65c4b11b8d9bd6f68f8756c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzItMS0xLTEtMTg2ODk_6cf31f43-9a9f-4eca-b386-06bedbc4fbc6"
      unitRef="usd">84370000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i6072eac355814ae18b59f266502ab12d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzItMy0xLTEtMTg2ODk_d9b51486-b444-4cd0-a63d-0e92054e0144"
      unitRef="usd">11120000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i317e25108f39466cac1924a62b77a83b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzItNS0xLTEtMTg2ODk_11d06cda-c0df-457c-b30f-4490569e6ef9"
      unitRef="usd">29700000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzItNy0xLTEtMTg2ODk_248760f7-a177-40cc-8148-a5409360a553"
      unitRef="usd">125190000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i01b18e2e53594288b1e7188aa5cd00e8_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzMtMS0xLTEtMTg2ODk_c05361ef-b7c4-4b6d-9d21-3abe18bf766f"
      unitRef="usd">28200000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i5f8355a19d574aa0beea355882e9d31d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzMtMy0xLTEtMTg2ODk_367a7d92-0095-4a4a-92f3-1ced742b21b6"
      unitRef="usd">1200000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i38be02faf2f241de9da5eabb28d5ceaa_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzMtNS0xLTEtMTg2ODk_b053c0e1-3b41-40a0-bb26-b2344bf386c6"
      unitRef="usd">7900000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzMtNy0xLTEtMjQwNTc_d8038803-b2f6-47c2-9c25-bb50b2fb5e9c"
      unitRef="usd">37300000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie49e1f5902674ab5af06ab1168ab2753_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzQtMS0xLTEtMTg2ODk_16547d4b-0e95-4cc8-8167-a9035d81f8c5"
      unitRef="usd">41738000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i1480e56773254180bcd33871404718bc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzQtMy0xLTEtMTg2ODk_5c147703-8545-4cc2-9d35-4f74912c1d24"
      unitRef="usd">5177000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i836109cf60b343bbbecd278715acae38_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzQtNS0xLTEtMTg2ODk_01e8f648-1d9d-42da-81b3-03a86ba2135b"
      unitRef="usd">20372000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzQtNy0xLTEtMTg2ODk_43727e80-7499-4337-a7c4-e4bf96cace6b"
      unitRef="usd">67287000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie49e1f5902674ab5af06ab1168ab2753_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzUtMS0xLTEtMTg2ODk_e763d779-eb16-4579-85a1-37807866ef7e"
      unitRef="usd">70832000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i1480e56773254180bcd33871404718bc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzUtMy0xLTEtMTg2ODk_4dc33966-4787-461b-af00-f7ab5a5b5211"
      unitRef="usd">7143000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i836109cf60b343bbbecd278715acae38_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzUtNS0xLTEtMTg2ODk_30ad447e-0268-4d3e-9330-50e363639d08"
      unitRef="usd">17228000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzUtNy0xLTEtMTg2ODk_baba8283-c2a6-4764-817b-a943351b3699"
      unitRef="usd">95203000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i01b18e2e53594288b1e7188aa5cd00e8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzYtMS0xLTEtMTg2ODk_11c2f7b8-857a-4360-a86b-4d8feb63aeb2">P9Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i5f8355a19d574aa0beea355882e9d31d_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzYtMy0xLTEtMTg2ODk_3ffe18a0-cf63-4c28-b903-517391b7e2eb">P13Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i38be02faf2f241de9da5eabb28d5ceaa_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzYtNS0xLTEtMTg2ODk_45881764-b1d7-42c8-9ad6-0b7422bc4a23">P8Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzYtNy0xLTEtMTg2ODk_66931de1-0bc1-4348-8037-5c7703a49522">P10Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie78548a3771d4f0788eae7e8f3037e69_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEwLTEtMS0xLTE4Njg5_2b4a53a1-317a-4328-8591-a66fbbcd3e03"
      unitRef="usd">84370000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i042c4a6e333c4e50abbc82964744d503_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEwLTMtMS0xLTE4Njg5_9b62e651-1749-46bb-a099-2f4e5e9c6933"
      unitRef="usd">11120000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i8a7f3950ab004b87877793d42333a2c7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEwLTUtMS0xLTE4Njg5_8b3790ae-ac15-4ff7-975d-e11df57945bc"
      unitRef="usd">29700000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iade483e7d2224faaba6643c762704fb8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEwLTctMS0xLTE4Njg5_32a9f3d6-f9a8-4c24-965f-de5d9a01542c"
      unitRef="usd">125190000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i2be536a0f65c4b11b8d9bd6f68f8756c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEyLTEtMS0xLTE4Njg5_9611da2c-870d-4283-b53a-e040cc4c1b9f"
      unitRef="usd">33612000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i6072eac355814ae18b59f266502ab12d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEyLTMtMS0xLTE4Njg5_737e37f7-8f9d-4718-baad-93eae5bc0116"
      unitRef="usd">4297000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i317e25108f39466cac1924a62b77a83b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEyLTUtMS0xLTE4Njg5_431c2ffd-1a05-46d4-8161-73c181fb1a27"
      unitRef="usd">15592000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEyLTctMS0xLTE4Njg5_279f9c25-ac39-4c09-9146-e8e4f97e7cea"
      unitRef="usd">53501000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i2be536a0f65c4b11b8d9bd6f68f8756c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEzLTEtMS0xLTE4Njg5_7801fe0b-9832-4b12-82c2-f2380445949d"
      unitRef="usd">50758000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i6072eac355814ae18b59f266502ab12d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEzLTMtMS0xLTE4Njg5_7a4eea83-a595-465f-8668-3c1f649652d8"
      unitRef="usd">6823000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i317e25108f39466cac1924a62b77a83b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEzLTUtMS0xLTE4Njg5_e263de6b-01f6-4c3c-91ca-dc835fe0b80f"
      unitRef="usd">14108000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpkNjcwYWI1NzJhZDA0YzllYjJhNjg4ODRlNmFjNGE2Yi90YWJsZXJhbmdlOmQ2NzBhYjU3MmFkMDRjOWViMmE2ODg4NGU2YWM0YTZiXzEzLTctMS0xLTE4Njg5_2e53f079-9899-4455-9cee-886d9afffd53"
      unitRef="usd">71689000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzQ2MA_5af8e630-2130-4b94-b16b-d84cb31ec6e9">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table represents the remaining amortization of definite-lived intangible assets as of December&#160;31, 2021:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.345%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.102%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;For the year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,950&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzItMS0xLTEtMTg2ODk_b9623c11-d124-4e36-9e7c-5c110b424933"
      unitRef="usd">14688000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzMtMS0xLTEtMTg2ODk_e65a7873-eaee-4865-93a0-fafbd0c422e2"
      unitRef="usd">12800000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzQtMS0xLTEtMTg2ODk_e1bdb97a-7cb5-4f50-94b6-176c8474e517"
      unitRef="usd">11266000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzUtMS0xLTEtMTg2ODk_9be75b82-d165-4b49-b154-d4d4fb256a91"
      unitRef="usd">10950000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzYtMS0xLTEtMjMwMzg_cc2ad43b-0aea-471d-9bfa-35be2c287161"
      unitRef="usd">10328000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzctMS0xLTEtMTg2ODk_e4eafa0f-d100-4ee7-b169-fb02fb464f59"
      unitRef="usd">35171000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTowYzNlNjgzMzM1OWU0MDU4OTgwNjIyNTc1MzhmMTM3Ni90YWJsZXJhbmdlOjBjM2U2ODMzMzU5ZTQwNTg5ODA2MjI1NzUzOGYxMzc2XzgtMS0xLTEtMTg2ODk_cc5594f7-a755-4bff-ae42-c8cacb41cd62"
      unitRef="usd">95203000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzQ2Mw_f0054bb5-2251-417e-bb4d-52227d0e6d13">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the change in the carrying amount of goodwill by segment for the years ended December&#160;31, 2021, 2020, and 2019:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.665%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.665%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.817%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.821%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Post-acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;TruBridge&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2018&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150,216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150,216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;177,713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i59e11e8e16c643d08587bbf17610a0d4_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzEtMS0xLTEtMTg2ODk_8d4a4e15-e170-407b-87b7-f973370e3e34"
      unitRef="usd">97095000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i3f990ced8a63426fad4d5dbc2dbe5fa0_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzEtMi0xLTEtMTg2ODk_5717006c-c458-4a58-be80-9413e04533a2"
      unitRef="usd">29570000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic2c74b16328b45b28e0b371d9c0bc311_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzEtMy0xLTEtMTg2ODk_eacce69e-f3fa-4286-b3da-4fadeaaa4d4b"
      unitRef="usd">13784000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="iba34e02a99eb4a77a9abd132b80fd41a_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzEtNC0xLTEtMTg2ODk_15f69f1d-b260-47ae-9b3f-4dd654bbb595"
      unitRef="usd">140449000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i68250114a9cb4fa1945033918d2365fe_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzItMS0xLTEtMTg2ODk_63ef850d-62d8-49ba-afc7-6d1580444463"
      unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzItMi0xLTEtMTg2ODk_f7740b73-37b6-4b8c-a537-94b7e88a65e8"
      unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i50e15f0a744942cd9cc167ab38a7f61d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzItMy0xLTEtMTg2ODk_078bed69-910b-4e42-b9ca-246a8b68ece1"
      unitRef="usd">9767000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzItNC0xLTEtMTg2ODk_cf44c3d4-62b6-4818-af2e-b87d751a9279"
      unitRef="usd">9767000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:Goodwill
      contextRef="ife0de9e0394749be960489305714b4a8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzMtMS0xLTEtMTg2ODk_0ef031cc-319b-40bf-b0c7-867f0e744b45"
      unitRef="usd">97095000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ieb1f4e30623e4f57bdbebdd56a30181d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzMtMi0xLTEtMTg2ODk_98ade37a-d63c-4ff7-a18d-d57bfd5f9f29"
      unitRef="usd">29570000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i0c9c5fb12ad2447d8357f534c830af13_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzMtMy0xLTEtMTg2ODk_954c5375-7e49-42a6-8178-3e86acc7c63c"
      unitRef="usd">23551000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="iade483e7d2224faaba6643c762704fb8_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzMtNC0xLTEtMTg2ODk_2fcb0fe5-6dd8-4b3a-84a3-cc7369ed8a20"
      unitRef="usd">150216000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ia18b0ed945464b0cadd990f042f24c2b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzQtMS0xLTEtMTg2ODk_e45d033b-cb43-41c4-a9d2-63d94619ac87"
      unitRef="usd">97095000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ie12c66c23ade4899aaca58beda541f14_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzQtMi0xLTEtMTg2ODk_be583cb0-00ef-4309-ad08-2ca6d5e6a92f"
      unitRef="usd">29570000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i33326983aa3b47c799e18f4cd740ab27_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzQtMy0xLTEtMTg2ODk_dc028504-4adb-4180-8ac1-bcfc81992c76"
      unitRef="usd">23551000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzQtNC0xLTEtMTg2ODk_565ac031-4cbc-4c8e-947b-bd869650dd01"
      unitRef="usd">150216000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i396944ff3ba942049790a47bde82ea44_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzUtMS0xLTEtMTg2ODk_b3aa8b2b-ad28-42fd-a184-0b93f7470ee8"
      unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzUtMi0xLTEtMTg2ODk_dfe1f64c-c382-44f6-ae9d-96e05a92a0ed"
      unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i07770b156f8e48248317564d171ebc33_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzUtMy0xLTEtMTg2ODk_9019c9cf-099f-4e0a-a63f-67526ec113c8"
      unitRef="usd">27497000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzUtNC0xLTEtMTg2ODk_63a77eba-fc05-4c9d-bd4d-eee620ca9c04"
      unitRef="usd">27497000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:Goodwill
      contextRef="i8fc8a55b5b234ea5a4e8f6d1200bc81c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzYtMS0xLTEtMjQwNTQ_9249f4db-055c-4524-a15b-bb23d991c952"
      unitRef="usd">97095000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i8347c29ac01e4a418eb23db105f002ba_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzYtMi0xLTEtMjQwNTQ_78b62f23-b63a-4703-99ce-3a56e1ef18d2"
      unitRef="usd">29570000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i457aed60978445d8a4fbd2c899cbe129_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzYtMy0xLTEtMjQwNTQ_d3df5879-65e1-46fa-adc9-fd53486d911b"
      unitRef="usd">51048000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90YWJsZTpjMzIzN2JhOWU5NTQ0NzVkOGFjZmMwYWRlYjRjODNlYS90YWJsZXJhbmdlOmMzMjM3YmE5ZTk1NDQ3NWQ4YWNmYzBhZGViNGM4M2VhXzYtNC0xLTEtMjQwNTQ_cb0613e6-777c-40cf-8fc2-d750ce119582"
      unitRef="usd">177713000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzM5NQ_118ab5ce-5637-4a2e-aabd-277bc5f972ea"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzM5NQ_a70f983b-8e42-4a87-8aa7-a1d4aade56e5"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjYvZnJhZzo4NmUxMzJkNzFmNzQ0OTliODY4ODczNjgyZGU3NmM2Mi90ZXh0cmVnaW9uOjg2ZTEzMmQ3MWY3NDQ5OWI4Njg4NzM2ODJkZTc2YzYyXzM5NQ_b0f2cc7d-7364-4506-b21c-f357e956f908"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzU1NDE_ab050a4e-5bb6-481c-bed6-b30954e24ef9">LONG-TERM DEBT&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt was comprised of the following at December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.890%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.145%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term loan facility&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,375&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving credit facility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Debt obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,375&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,015)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,308)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Debt obligation, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,817&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,394)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,457)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, the carrying value of debt approximates the fair value due to the variable interest rate which reflects market rates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Credit Agreement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In conjunction with our acquisition of HHI in January 2016, we entered into a syndicated credit agreement with Regions Bank ("Regions") serving as administrative agent, which provided for a $125 million term loan facility and a $50 million revolving credit facility. On June 16, 2020, we entered into an Amended and Restated Credit Agreement that increased the aggregate principal amount of our credit facilities to $185 million, which includes a $75 million term loan facility and a $110 million revolving credit facility.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Each of our credit facilities continues to bear interest at a rate per annum equal to an applicable margin plus, at our option, either (1)&#160;the Adjusted LIBOR rate for the relevant interest period, subject to a floor of 0.50%, (2)&#160;an alternate base rate determined by reference to the greater of (a)&#160;the prime lending rate of Regions, (b)&#160;the federal funds rate for the relevant interest period plus one half of one percent per annum and (c)&#160;the one month LIBOR rate, subject to the aforementioned floor,  plus one percent per annum, or (3)&#160;a combination of (1)&#160;and (2). The applicable margin range for LIBOR loans and the letter of credit fee ranges from 1.8% to 3.0%. The applicable margin range for base rate loans ranges from 0.8% to 2.0%, in each case based on the Company's consolidated net leverage ratio. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Principal payments with respect to the term loan facility are due on the last day of each fiscal quarter beginning September 30, 2020, with quarterly principal payments of approximately $0.9 million through June 30, 2022, approximately $1.4 million through June 30, 2024 and approximately $1.9 million through March 31, 2025, with maturity on June 16, 2025 or such earlier date as the obligations under the Amended and Restated Credit Agreement become due and payable pursuant to the terms of such agreement. Any principal outstanding under the revolving credit facility is due and payable on the maturity date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Anticipated annual future maturities of the term loan facility and revolving credit facility are as follows as of December&#160;31, 2021:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,375&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our credit facilities are secured pursuant to an Amended and Restated Pledge and Security Agreement, dated June 16, 2020, among the parties identified as obligors therein and Regions, as collateral agent, on a first priority basis by a security interest in substantially all of the tangible and intangible assets (subject to certain exceptions) of the Company and certain subsidiaries of the Company, as guarantors (collectively, the &#x201c;Subsidiary Guarantors&#x201d;), including certain registered intellectual property and the capital stock of certain of the Company&#x2019;s direct and indirect subsidiaries. Our obligations under the Amended and Restated Credit Agreement are also guaranteed by the Subsidiary Guarantors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Amended and Restated Credit Agreement provides incremental facility capacity of $50 million, subject to certain conditions. The Amended and Restated Credit Agreement includes a number of restrictive covenants that, among other things and in each case subject to certain exceptions and baskets, impose operating and financial restrictions on the Company and the Subsidiary Guarantors, including the ability to incur additional debt; incur liens and encumbrances; make certain restricted payments, including paying dividends on the Company's equity securities or payments to redeem, repurchase or retire the Company's equity securities (which are subject to our compliance, on a pro forma basis to give effect to the restricted payment, with the fixed charge coverage ratio and consolidated net leverage ratio described below); enter into certain restrictive agreements; make investments, loans and acquisitions; merge or consolidate with any other person; dispose of assets; enter into sale and leaseback transactions; engage in transactions with affiliates; and materially alter the business we conduct. The Amended and Restated Credit Agreement requires the Company to maintain a minimum fixed charge coverage ratio of 1.25:1.00 throughout the duration of such agreement. Under the Amended and Restated Credit Agreement, the Company is required to comply with a maximum consolidated net leverage ratio of 3.50:1.00. The Amended and Restated Credit Agreement also contains customary representations and warranties, affirmative covenants and events of default. We believe that we were in compliance with the covenants contained in the credit agreement as of December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Amended and Restated Credit Agreement requires the Company to mandatorily prepay our credit facilities with 50% of excess cash flow (minus certain specified other payments). This mandatory prepayment requirement is applicable only if the Company's net leverage ratio exceeds 2.50:1.00.  The Company is permitted to voluntarily prepay our credit facilities at any time without penalty, subject to customary &#x201c;breakage&#x201d; costs with respect to prepayments of LIBOR rate loans made on a day other than the last day of any applicable interest period. The excess cash flow mandatory prepayment requirement under the credit agreement did not result in a prepayment in 2021 or 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzU1NDI_f547d30e-7d9d-4cc5-97c6-c68753a66457">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-term debt was comprised of the following at December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.890%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.145%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term loan facility&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,375&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving credit facility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Debt obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,375&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,015)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,308)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Debt obligation, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,817&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,394)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,457)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="ia857e5fe932041ea94266344b190ee72_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzEtMS0xLTEtMTg2ODk_70e2c819-e71f-439f-b4ab-34282f10fc55"
      unitRef="usd">69375000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="idcbdd02f4e974b62afb99bf20b12e1a7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzEtMy0xLTEtMTg2ODk_56222a3c-127c-4194-85ad-aa91ee7f0484"
      unitRef="usd">73125000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i098ec3a0edb44499a25f0be40f834433_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzItMS0xLTEtMTg2ODk_27cf7ca5-ecd8-490f-8a69-b110f6e0103a"
      unitRef="usd">31000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i4f41e506535241158952377e85b92f73_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzItMy0xLTEtMTg2ODk_932a178d-e9bc-44a8-953b-9e48fcc49e67"
      unitRef="usd">5000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzQtMS0xLTEtMTg2ODk_b84b69d0-5f7a-4d2d-8267-414362752224"
      unitRef="usd">100375000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i4b82d1206fea4eeb801fbfe940a29560_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzQtMy0xLTEtMTg2ODk_05daf269-50c6-46e4-9391-858a4e8cdcbd"
      unitRef="usd">78125000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzUtMS0xLTEtMTg2ODk_7f4e77eb-ee63-4092-abee-dc73ca2c9c28"
      unitRef="usd">1015000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzUtMy0xLTEtMTg2ODk_8bf94706-43f0-4757-9794-fb533430ce64"
      unitRef="usd">1308000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzYtMS0xLTEtMTg2ODk_3cd73c0c-a423-4918-a1ea-d25b290f0dbd"
      unitRef="usd">99360000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzYtMy0xLTEtMTg2ODk_de67db2c-3a81-4a37-acb0-4e79e064277d"
      unitRef="usd">76817000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzctMS0xLTEtMTg2ODk_5043af4b-d02e-4ffc-9325-f049e64da407"
      unitRef="usd">4394000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzctMy0xLTEtMTg2ODk_b90616a8-2575-42ca-bb54-2a43de48876c"
      unitRef="usd">3457000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzgtMS0xLTEtMTg2ODk_e8e02f93-0d46-4e1d-8ae0-fd4b26e765c8"
      unitRef="usd">94966000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="iab40e2ac68884870b913789195bc317e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZTozMjNmNGIxZTk0Y2Q0NjI2OWNlNzhlZjIzMGVlNWMxYy90YWJsZXJhbmdlOjMyM2Y0YjFlOTRjZDQ2MjY5Y2U3OGVmMjMwZWU1YzFjXzgtMy0xLTEtMTg2ODk_714c2341-32af-4eae-ac02-fc5f91cd09e5"
      unitRef="usd">73360000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i69f6598ce20040d0b0d0a00432dd75f5_I20160131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQyMg_75dd65a0-1131-4f71-9412-055ce4cc377f"
      unitRef="usd">125000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="ic2cc02f8bb884567804955e9db8c72e6_I20160131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQ1OA_43ecb0a6-df8c-48ba-ad1d-2ba32af90adc"
      unitRef="usd">50000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i89787416874f45a5a31f1114f422880d_I20200616"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzY0NQ_ed0fddcd-4f49-4d3f-87d8-0a64fcf0e406"
      unitRef="usd">185000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i4e0ac7ab7e08464d86fd95fbf051710f_I20200616"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzY3NA_e8fdb9b6-d353-4c3b-a4c8-61e9106cd280"
      unitRef="usd">75000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i66ae8df3555a4b09ab10feda0246f5f4_I20200616"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzcxMA_92d188cf-4ab4-4539-8245-eae8974fe4c9"
      unitRef="usd">110000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="idbfc7bbbd3b0494cacb226b1d2242e9c_D20200616-20200616"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1Xzk2Nw_3aa4c36c-0ada-48e2-86e5-214359a669ef"
      unitRef="number">0.005</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i2ee0f003efa54176b9c29af41c084885_D20200616-20200616"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzEyNTU_971a5403-d2e4-4b7c-9000-107fe3687de1"
      unitRef="number">0.01</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i8012728517e9492c8f41ce749681957b_D20200616-20200616"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzEzOTk_d06f4a04-7cb3-41f9-84ae-40184d334c97"
      unitRef="number">0.018</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i07f2313760d64cfc8984a1df0d40f5d4_D20200616-20200616"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE0MDU_612fc524-e9cd-4bd3-9202-1e8108437a85"
      unitRef="number">0.03</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i3f07da70093d4c77b85f88ea63b6a831_D20200616-20200616"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE0Njk_cbee68e0-aa5e-485e-b5e5-3d05ff48d185"
      unitRef="number">0.008</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ibeb8591df2a54f0ea408cf7c86d6683c_D20200616-20200616"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE0NzU_9c31b7c2-ec12-49c1-aa36-1911ea60c2f4"
      unitRef="number">0.02</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentPeriodicPaymentPrincipal
      contextRef="ic359000302a944a6978029ba0d8b4b34_D20201001-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE3MzU_74429083-01db-43b6-a111-c4a5ca1e5652"
      unitRef="usd">900000</us-gaap:DebtInstrumentPeriodicPaymentPrincipal>
    <us-gaap:DebtInstrumentPeriodicPaymentPrincipal
      contextRef="i17b8def01d8f46fabb3836ba681f540a_D20201001-20240630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE3ODM_dc105ad8-0c16-47e6-b2da-0ab3e4538035"
      unitRef="usd">1400000</us-gaap:DebtInstrumentPeriodicPaymentPrincipal>
    <us-gaap:DebtInstrumentPeriodicPaymentPrincipal
      contextRef="iee50ce6c660b4c4a919bfb026f1f98d5_D20201001-20250331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzE4MzQ_a031fe80-94ed-4e38-ada3-4ba07015fc5b"
      unitRef="usd">1900000</us-gaap:DebtInstrumentPeriodicPaymentPrincipal>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzU1NDA_7b649717-e3c3-4a54-ab96-328292e0348d">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Anticipated annual future maturities of the term loan facility and revolving credit facility are as follows as of December&#160;31, 2021:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.354%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,375&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzEtMS0xLTEtMTg2ODk_5a9621a8-64a1-492e-9145-4b7e810c8554"
      unitRef="usd">4687000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzItMS0xLTEtMTg2ODk_b4917fb0-af58-414d-8163-a6d5220c521d"
      unitRef="usd">5625000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzMtMS0xLTEtMTg2ODk_7d0645c6-cf49-44cd-8674-aa3326757a7a"
      unitRef="usd">6563000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzQtMS0xLTEtMTg2ODk_e17577bc-eaba-4bac-9d37-55bb6f3b73af"
      unitRef="usd">83500000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <cpsi:LongTermDebtMaturityAfterYearFour
      contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzUtMS0xLTEtMTg2ODk_fd004a69-6b09-4e17-8a97-b071938db7f6"
      unitRef="usd">0</cpsi:LongTermDebtMaturityAfterYearFour>
    <us-gaap:LongTermDebt
      contextRef="i7774a291616745f2b99a10cb9fe514c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90YWJsZToyZWQxYTAxZWRlYWQ0ZDE5YjZlNmJiODFjMjk2Y2MyZS90YWJsZXJhbmdlOjJlZDFhMDFlZGVhZDRkMTliNmU2YmI4MWMyOTZjYzJlXzYtMS0xLTEtMTg2ODk_719c01f4-2b70-43d5-9221-a0346bb3a4b8"
      unitRef="usd">100375000</us-gaap:LongTermDebt>
    <cpsi:LineofCreditFacilityAccordionFeatureIncreaseLimit
      contextRef="iab3e980571b74fb994aa2a980e2a354a_I20200616"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzMwNjg_5dd67f7a-13ce-44ed-aae1-74b8897ad772"
      unitRef="usd">50000000</cpsi:LineofCreditFacilityAccordionFeatureIncreaseLimit>
    <cpsi:LongTermDebtCovenantFixedChargeCoverageRatioMinimum
      contextRef="i39ea9db2d47d426f970476611d79347d_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQyMDc_410ec1c9-9d56-458b-9605-c0479b5c6209"
      unitRef="number">1.25</cpsi:LongTermDebtCovenantFixedChargeCoverageRatioMinimum>
    <cpsi:LongTermDebtCovenantConsolidatedLeverageRatioMaximum
      contextRef="i39ea9db2d47d426f970476611d79347d_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQzOTE_f442b25e-b4cd-4e84-b3a0-5748669d1c62"
      unitRef="number">3.5</cpsi:LongTermDebtCovenantConsolidatedLeverageRatioMaximum>
    <cpsi:DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage
      contextRef="i39ea9db2d47d426f970476611d79347d_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQ3NTY_ba47313d-417c-46dd-9ce4-fe2aa7be07ab"
      unitRef="number">0.50</cpsi:DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage>
    <cpsi:LongTermDebtCovenantConsolidatedLeverageRatio
      contextRef="i39ea9db2d47d426f970476611d79347d_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNjkvZnJhZzo4ZTkxMzg2YjY2YjM0ODVmYjA3NzM1OTlhYjJiYmRlNS90ZXh0cmVnaW9uOjhlOTEzODZiNjZiMzQ4NWZiMDc3MzU5OWFiMmJiZGU1XzQ5MjI_0c74eb89-bf87-4407-871c-15be9365cf57"
      unitRef="number">2.5</cpsi:LongTermDebtCovenantConsolidatedLeverageRatio>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzUvZnJhZzo0NWI2Njg5NzQ2YmM0Y2EzYjM5NzRiMzdjZDBjZjVkMi90ZXh0cmVnaW9uOjQ1YjY2ODk3NDZiYzRjYTNiMzk3NGIzN2NkMGNmNWQyXzE0MDc_bad1fa47-0ad5-4b80-ba2c-f7705e5f7434">BENEFIT PLANS&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In January 1994, the Company adopted the CPSI 401(k) Retirement Plan that covers all eligible employees of the Company. The plan allows eligible employees to contribute up to 60% of their pre-tax earnings up to the statutory limit prescribed by the Internal Revenue Service. The Company matches a discretionary amount determined by the Board of Directors. The Company contributed approximately $3.2 million, $3.2 million, and $2.9 million to the plan for the years ended December&#160;31, 2021, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company provides certain health and medical benefits to eligible employees, their spouses and dependents pursuant to a benefit plan funded by the Company. Each participating employee contributes to the Company&#x2019;s costs associated with such benefit plan. The Company&#x2019;s obligation to fund this benefit plan and pay for these benefits is limited through the Company&#x2019;s purchase of an insurance policy from a third-party insurer. The amount established as a reserve is intended to recognize the Company&#x2019;s estimated obligations with respect to its payment of claims and claims incurred but not yet reported under the benefit plan. Management believes that the recorded liability for medical self-insurance at December&#160;31, 2021 and 2020 is adequate to cover the losses and claims incurred, but these reserves are based on estimates and the amount ultimately paid may be more or less than such estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <cpsi:DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum
      contextRef="i61573d36a5d94d7c929e3392a7bb1697_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzUvZnJhZzo0NWI2Njg5NzQ2YmM0Y2EzYjM5NzRiMzdjZDBjZjVkMi90ZXh0cmVnaW9uOjQ1YjY2ODk3NDZiYzRjYTNiMzk3NGIzN2NkMGNmNWQyXzIzMg_9a1f9587-c743-4ed3-adaf-500a65504008"
      unitRef="number">0.60</cpsi:DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="i61573d36a5d94d7c929e3392a7bb1697_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzUvZnJhZzo0NWI2Njg5NzQ2YmM0Y2EzYjM5NzRiMzdjZDBjZjVkMi90ZXh0cmVnaW9uOjQ1YjY2ODk3NDZiYzRjYTNiMzk3NGIzN2NkMGNmNWQyXzQ1MA_a86b9b31-3e08-46bb-8f48-d7af1282d056"
      unitRef="usd">3200000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="i5fb6373a3d534f41a85aaa20ffcfeeb3_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzUvZnJhZzo0NWI2Njg5NzQ2YmM0Y2EzYjM5NzRiMzdjZDBjZjVkMi90ZXh0cmVnaW9uOjQ1YjY2ODk3NDZiYzRjYTNiMzk3NGIzN2NkMGNmNWQyXzQ1NA_4d3f3383-b675-4f10-a76c-59e78ead40f7"
      unitRef="usd">3200000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount
      contextRef="i85937983f2e544d8ba83df5d7af6737c_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzUvZnJhZzo0NWI2Njg5NzQ2YmM0Y2EzYjM5NzRiMzdjZDBjZjVkMi90ZXh0cmVnaW9uOjQ1YjY2ODk3NDZiYzRjYTNiMzk3NGIzN2NkMGNmNWQyXzQ2Mg_656d9f69-2bb7-43f2-b97c-c4493c4e6bf2"
      unitRef="usd">2900000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzExOTU_cfb90208-e7b4-4646-848a-f3c9406134ab">OPERATING LEASES&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases office space in various locations in Alabama, Pennsylvania, Minnesota, Maryland, and Mississippi. These leases have terms expiring from 2022 through 2030 but do contain optional extension terms. Leases with an initial term of 12 months or less are not recorded on the balance sheet. We recognize lease expense on a straight-line basis over the lease term.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 28, 2021, the Company terminated its lease agreement for approximately 45,000 square feet of office space in Fairhope, Alabama. Pursuant to a Termination of Lease Agreement dated July 28, 2021, the Company paid $0.9&#160;million to the landlord as consideration for the early termination.  In connection with the lease termination, the Company derecognized the assets and liabilities associated with the operating lease and recorded a $0.3&#160;million loss on the disposal of leasehold improvements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental balance sheet information related to operating leases is as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:86.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.628%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease assets&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_11044054-b20b-4e64-84db-2255f5137354"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_a06dcfd3-4852-44f1-b934-aaacbec8f4c5"&gt;Other accrued liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities, net of current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term in years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.6%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Because our leases do not provide an implicit rate, we use our incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. We used the incremental borrowing rate on January 1, 2019, for operating leases that commenced prior to that date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The future minimum lease payments payable under these operating leases subsequent to December&#160;31, 2021 are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,411&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,115&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(968)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total rent expense for the years ended December&#160;31, 2021, 2020, and 2019 was $1.8&#160;million, $1.7&#160;million, and $2.2&#160;million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total cash paid for amounts included in the measurement of lease liabilities within operating cash flows from operating leases for the year ended December 31, 2021 was $1.8&#160;million.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i2c75fe23fc704fd29b033637c890a68a_I20210728"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzEwOTk1MTE2Mjk1OTM_df783d69-570d-49b5-8725-6c6074139dc9"
      unitRef="sqft">45000</us-gaap:AreaOfRealEstateProperty>
    <cpsi:PaymentsOnEarlyTerminationOfLease
      contextRef="i77453d5f51a04b3a88ce146231aa3865_D20210728-20210728"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzEwOTk1MTE2Mjk2MDE_b20309c3-6e59-454f-9016-92e44c3559d2"
      unitRef="usd">900000</cpsi:PaymentsOnEarlyTerminationOfLease>
    <us-gaap:GainLossOnTerminationOfLease
      contextRef="i77453d5f51a04b3a88ce146231aa3865_D20210728-20210728"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzEwOTk1MTE2Mjk2MTU_2251d3bb-10ad-4880-a40c-92096341ba1e"
      unitRef="usd">-300000</us-gaap:GainLossOnTerminationOfLease>
    <cpsi:LeaseSupplementalBalanceSheetInformationTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzExOTY_9c1efc77-952c-4665-8f17-74d5fd40673a">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental balance sheet information related to operating leases is as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:86.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.628%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease assets&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_11044054-b20b-4e64-84db-2255f5137354"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMC0xLTEtMTg2ODk_a06dcfd3-4852-44f1-b934-aaacbec8f4c5"&gt;Other accrued liabilities&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities, net of current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term in years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.6%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</cpsi:LeaseSupplementalBalanceSheetInformationTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzItMS0xLTEtMTg2ODk_b11be657-ce71-49c0-b2b6-c55d913a220b"
      unitRef="usd">7097000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzQtMS0xLTEtMTg2ODk_fa3aef83-c5dc-4f1d-8437-a14d85b471cc"
      unitRef="usd">1592000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzUtMS0xLTEtMTg2ODk_c971dbfc-237d-40bd-827b-fced12503404"
      unitRef="usd">5505000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzYtMS0xLTEtMTg2ODk_8c0464a1-56dc-4b6f-9675-7b3c95279c2b"
      unitRef="usd">7097000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzctMS0xLTEtMTg2ODk_6d3405d8-dfef-491d-a32c-729b2c7a0cd6">P6Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTpiZWYxYzY2ZmQwYTg0NTI4OTExNDhiOTdmMzU4M2IyOC90YWJsZXJhbmdlOmJlZjFjNjZmZDBhODQ1Mjg5MTE0OGI5N2YzNTgzYjI4XzgtMS0xLTEtMTg2ODk_7a2b8435-8d00-4701-a63f-07b1c325a5bc"
      unitRef="number">0.046</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzExOTc_289584e9-85e0-4c1a-b9d8-8a1eb37c3092">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The future minimum lease payments payable under these operating leases subsequent to December&#160;31, 2021 are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.718%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,411&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,115&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(968)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzEtMS0xLTEtMTg2ODk_2879e74e-41d9-4f90-8dba-6eb9840196c6"
      unitRef="usd">1592000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzItMS0xLTEtMTg2ODk_1b5c3901-3a65-4d62-9d1e-f962bf1ec9e0"
      unitRef="usd">1520000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzMtMS0xLTEtMTg2ODk_be31b997-508a-4485-8945-4080d4fd0572"
      unitRef="usd">1411000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzQtMS0xLTEtMTg2ODk_3607b004-7df4-4480-929d-e841c31f9400"
      unitRef="usd">1202000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzUtMS0xLTEtMTg2ODk_22d5cd39-e3b1-4f64-9f1b-c91b095e58d4"
      unitRef="usd">1225000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzYtMS0xLTEtMTg2ODk_34d3efae-d7a3-489b-9e17-b4f7434857f1"
      unitRef="usd">1115000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzctMS0xLTEtMTg2ODk_3b2e66a1-9293-4579-81fb-18c8a7133a94"
      unitRef="usd">8065000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzgtMS0xLTEtMTg2ODk_a659a44b-85d0-4f84-977e-a18dc3fa8912"
      unitRef="usd">968000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="iee1578436de542c7a4e1e1acd9b621c1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90YWJsZTplZDZmNDYyNTc4Zjc0ODA1ODkwOGZkNmRmYzhkYzRiMC90YWJsZXJhbmdlOmVkNmY0NjI1NzhmNzQ4MDU4OTA4ZmQ2ZGZjOGRjNGIwXzktMS0xLTEtMTg2ODk_7f10897a-d7ad-466d-8a8b-fcf3107fb19d"
      unitRef="usd">7097000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LeaseCost
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2Xzk5NA_1181ca52-a679-4722-bdc0-8f9c8514f72a"
      unitRef="usd">1800000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2Xzk5OA_37c4b213-df7f-4603-8bad-857080306164"
      unitRef="usd">1700000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzEwMDY_283962a4-af09-4029-b031-97947adb7d64"
      unitRef="usd">2200000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeasePayments
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xNzgvZnJhZzpjNjIzYTM1ZWZiYTI0NjhiOGRlMGRkMzczYjIyOTc5Ni90ZXh0cmVnaW9uOmM2MjNhMzVlZmJhMjQ2OGI4ZGUwZGQzNzNiMjI5Nzk2XzExOTI_23e53730-45a3-4dd6-af89-aa4c37787eff"
      unitRef="usd">1800000</us-gaap:OperatingLeasePayments>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODQvZnJhZzo3MTlmN2M1NGExNmE0MGU2YmFkZWRmZGRmYTM3YzRjYS90ZXh0cmVnaW9uOjcxOWY3YzU0YTE2YTQwZTZiYWRlZGZkZGZhMzdjNGNhXzI5OA_34747c8d-6ce6-40b8-b4f0-1f8b60dc828b">COMMITMENTS AND CONTINGENCIESFrom time to time, the Company is involved in routine litigation that arises in the ordinary course of business. Management does not believe it is reasonably possible that such matters will have a material adverse effect on the Company&#x2019;s financial statements.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90ZXh0cmVnaW9uOmIzYWIxMGVhYThmYzQ0ZTlhMDdmYzljZWJkZmM4ODAyXzExMjM_1a5e2715-2524-4e49-b699-48df2f033c59">FAIR VALUE&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ASC 820, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair Value Measurements and Disclosures,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; establishes a framework for measuring fair value and expands financial statement disclosures about fair value measurements. Fair value is the price that would be received to sell an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants at the measurement date. The Codification topic does not require any new fair value measurements, but rather applies to all other accounting pronouncements that require or permit fair value measurements. The Codification topic requires that assets and liabilities carried at fair value be classified and disclosed in one of the following three categories:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 1: Quoted market prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 2: Observable market-based inputs or unobservable inputs that are corroborated by market data.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 3: Unobservable inputs that are not corroborated by market data.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, we measured the fair value of contingent consideration that represents the potential earnout incentive for TruCode&#x2019;s former equity holders.  We estimated the fair value of the contingent consideration based on the probability of TruCode meeting EBITDA targets (subject to certain pro-forma adjustments). We did not have any other instruments that required fair value measurement as of December 31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the carrying amount and fair value of the contingent consideration at December 31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.817%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.236%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.886%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.886%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.200%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fair Value at December 31, 2021 Using&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Carrying Amount at 12/31/21&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Quoted Price in Active Markets for Identical Assets (Level 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Significant Other Observable Inputs (Level 2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Significant Unobservable Inputs (Level 3)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contingent Consideration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90ZXh0cmVnaW9uOmIzYWIxMGVhYThmYzQ0ZTlhMDdmYzljZWJkZmM4ODAyXzExMjQ_a0d7165d-46aa-4111-a1f6-996a91bfe3cf">&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ASC 820, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair Value Measurements and Disclosures,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; establishes a framework for measuring fair value and expands financial statement disclosures about fair value measurements. Fair value is the price that would be received to sell an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants at the measurement date. The Codification topic does not require any new fair value measurements, but rather applies to all other accounting pronouncements that require or permit fair value measurements. The Codification topic requires that assets and liabilities carried at fair value be classified and disclosed in one of the following three categories:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 1: Quoted market prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 2: Observable market-based inputs or unobservable inputs that are corroborated by market data.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 3: Unobservable inputs that are not corroborated by market data.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90ZXh0cmVnaW9uOmIzYWIxMGVhYThmYzQ0ZTlhMDdmYzljZWJkZmM4ODAyXzEwOTk1MTE2MzA3NDQ_24b6b104-81b2-4a82-9277-93c6c69a3731">&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the carrying amount and fair value of the contingent consideration at December 31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.817%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.236%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.886%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.886%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.200%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fair Value at December 31, 2021 Using&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Carrying Amount at 12/31/21&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Quoted Price in Active Markets for Identical Assets (Level 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Significant Other Observable Inputs (Level 2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Significant Unobservable Inputs (Level 3)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contingent Consideration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90ZXh0cmVnaW9uOmIzYWIxMGVhYThmYzQ0ZTlhMDdmYzljZWJkZmM4ODAyXzEwOTk1MTE2MzA3NDY_4573aa7a-160a-413a-9310-ee161b588a33">&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the carrying amount and fair value of the contingent consideration at December 31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.596%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.817%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.236%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.886%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.886%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.625%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.200%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fair Value at December 31, 2021 Using&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Carrying Amount at 12/31/21&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Quoted Price in Active Markets for Identical Assets (Level 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Significant Other Observable Inputs (Level 2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Significant Unobservable Inputs (Level 3)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contingent Consideration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure
      contextRef="i74355865c0724ca39a307223f41d7961_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzMtMS0xLTEtMjQzNjI_d98208c9-4acf-4d29-bb26-ab1222905052"
      unitRef="usd">2500000</us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure>
    <us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure
      contextRef="ia2ae05a7cfd84775a807baf40cc36dcb_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzMtMy0xLTEtMjQzNjQ_e0d59dfc-9b00-43ce-b6c0-07d1cb5225ad"
      unitRef="usd">0</us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure>
    <us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure
      contextRef="i8d38aef87c0344f49223a051136f1c98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzMtNS0xLTEtMjQzNjY_62537669-6708-430a-9497-3092653b4651"
      unitRef="usd">0</us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure>
    <us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure
      contextRef="ie43da8c2275c495190a48135ad8f7d2e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzMtNy0xLTEtMjQzNjg_4fd7ebdc-8000-43a6-be42-6845ceaea48d"
      unitRef="usd">2500000</us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure>
    <us-gaap:EquityFairValueDisclosure
      contextRef="i74355865c0724ca39a307223f41d7961_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzQtMS0xLTEtMjQzNjI_c584dc37-39a4-469a-999a-866978e13ffe"
      unitRef="usd">2500000</us-gaap:EquityFairValueDisclosure>
    <us-gaap:EquityFairValueDisclosure
      contextRef="ia2ae05a7cfd84775a807baf40cc36dcb_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzQtMy0xLTEtMjQzNjQ_fdea9c64-a944-483d-8025-09d11ef73916"
      unitRef="usd">0</us-gaap:EquityFairValueDisclosure>
    <us-gaap:EquityFairValueDisclosure
      contextRef="i8d38aef87c0344f49223a051136f1c98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzQtNS0xLTEtMjQzNjY_c1cb3806-ef3e-45bb-966e-e3cc703bcbc8"
      unitRef="usd">0</us-gaap:EquityFairValueDisclosure>
    <us-gaap:EquityFairValueDisclosure
      contextRef="ie43da8c2275c495190a48135ad8f7d2e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xODcvZnJhZzpiM2FiMTBlYWE4ZmM0NGU5YTA3ZmM5Y2ViZGZjODgwMi90YWJsZTplY2RiZmM1Y2YwYzg0NDdlOGY4ZmZjYWQ5ZjgxNjUwNi90YWJsZXJhbmdlOmVjZGJmYzVjZjBjODQ0N2U4ZjhmZmNhZDlmODE2NTA2XzQtNy0xLTEtMjQzNjg_3a08fdad-e22c-4ba7-bb4c-ed1e02df623b"
      unitRef="usd">2500000</us-gaap:EquityFairValueDisclosure>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2XzEwNjQ_f504c068-3001-4395-895d-25506ad3b69c">SEGMENT REPORTING&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our chief operating decision makers ("CODM") utilize three operating segments, "Acute Care EHR", "Post-acute Care EHR" and "TruBridge", based on our three distinct business units with unique market dynamics and opportunities. Revenues and costs of sales are primarily derived from the provision of services and sales of our proprietary software, and our CODM assess the performance of these three segments at the gross profit level. Operating expenses and items such as interest, income tax, capital expenditures and total assets are managed at a consolidated level and thus are not included in our operating segment disclosures. Our CODM group is comprised of the Chief Executive Officer, Chief Growth Officer, Chief Operating Officer, and Chief Financial Officer. Accounting policies for each of the reportable segments are the same as those used on a consolidated basis. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a summary of the revenues, cost of sales, and gross profit of our three operating segments for the years ended December 31, 2021, 2020, and 2019:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.506%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.012%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.012%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,173&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Acute Care EHR revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;144,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Post-acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,912&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Post-acute Care EHR revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;TruBridge&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;280,629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;264,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,569&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Post-acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,888&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,821&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;TruBridge&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,083&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Post-acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;TruBridge&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,882&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;144,145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(116,175)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(115,192)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(119,562)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other income &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;807&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gain on contingent consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss on extinguishment of debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(202)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,160)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,562)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,694)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income before taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2Xzg0_5bf8c202-401f-42d9-b2c4-04a22670919c"
      unitRef="segment">3</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2XzE3Nw_b53cd820-c7e3-4eb0-9d15-08d5de5477f7"
      unitRef="segment">3</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2XzQxNg_86fbd966-104f-4e61-8245-00207e7b17de"
      unitRef="segment">3</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2XzEwNjY_4f35fc75-4eb9-4153-ad0d-d8479e3f2abd">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a summary of the revenues, cost of sales, and gross profit of our three operating segments for the years ended December 31, 2021, 2020, and 2019:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.506%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.012%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.172%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.012%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,173&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Acute Care EHR revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;144,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Post-acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,912&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,812&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Post-acute Care EHR revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;TruBridge&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;280,629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;264,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,569&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Post-acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,888&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,821&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;TruBridge&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,083&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,242&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Post-acute Care EHR&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;TruBridge&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total gross profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,882&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;144,145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(116,175)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(115,192)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(119,562)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other income &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;807&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gain on contingent consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss on extinguishment of debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(202)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,160)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,562)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,694)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income before taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2Xzk5Mg_6f5e4cbf-980e-4662-b383-1042fd120a27"
      unitRef="segment">3</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2Xzk5Mg_cb8a05bc-67fb-4e26-b265-fdc7d6e3c7d0"
      unitRef="segment">3</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90ZXh0cmVnaW9uOjUyMjk0YTA4YjY4ZTQwNDFhMTAwMzMzNDM2NGRhNjM2Xzk5Mg_f17bae4d-05a2-4a60-bacd-c067442d02f2"
      unitRef="segment">3</us-gaap:NumberOfOperatingSegments>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ieb792a6c64fe49a1a89138698dc99a5f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzQtMS0xLTEtMTg2ODk_5a7f447f-3b9d-4116-a430-21df3eced403"
      unitRef="usd">108440000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i61ca0207d5aa4abc8d4e41af984bd82e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzQtMy0xLTEtMTg2ODk_06df08f0-25a3-4b9d-b41f-225b0e5d53c2"
      unitRef="usd">105597000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i49e87857fd2c41518c50532cff87363d_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzQtNS0xLTEtMTg2ODk_cc4d49af-e632-4974-8005-d520e1f2d79a"
      unitRef="usd">109046000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifae67c79998f42aeb7021dd210dba092_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzUtMS0xLTEtMTg2ODk_213a805b-b100-44ef-a78b-de66167e7452"
      unitRef="usd">16939000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie82ebf9b6c364ff78d02b15b49c50681_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzUtMy0xLTEtMTg2ODk_d68f0f52-c9e7-493c-a0dd-45649fc3b197"
      unitRef="usd">29173000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if51be33f23954516a3cf10a82447fa94_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzUtNS0xLTEtMTg2ODk_653cd5c5-84c5-4d10-b773-f8aa6a440cba"
      unitRef="usd">35028000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i396944ff3ba942049790a47bde82ea44_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzYtMS0xLTEtMTg2ODk_6591c3da-c560-414b-a53d-38991c8bbf2e"
      unitRef="usd">125379000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8add1fe0b7094bfea04a75a643d1cc19_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzYtMy0xLTEtMTg2ODk_88df423f-fc1c-4bb1-bfb1-db1bd9810031"
      unitRef="usd">134770000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i68250114a9cb4fa1945033918d2365fe_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzYtNS0xLTEtMTg2ODk_15a20337-f502-4a8d-99e2-6fce392fe20f"
      unitRef="usd">144074000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i795e095788164b229ee78021c19dcbaf_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzgtMS0xLTEtMTg2ODk_a930c7bf-6b83-4130-bbba-feffaf8529dd"
      unitRef="usd">16472000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i20a7abbd8d894bf6968952740024a006_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzgtMy0xLTEtMTg2ODk_1298f992-2657-4971-9018-f922f594ec7f"
      unitRef="usd">16272000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic31376515a1a49d38d3e227d452e1acd_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzgtNS0xLTEtMTg2ODk_4789175c-4dcd-49f7-a7e8-8e94be4f20d1"
      unitRef="usd">17466000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9fd71d6876134adcacebca405a9ef3d7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzktMS0xLTEtMTg2ODk_126495ff-81ce-43dc-8f7f-21160017f0aa"
      unitRef="usd">1258000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6d2acb701ee14268961a5e4cbd745884_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzktMy0xLTEtMTg2ODk_4e12236a-31f9-4c0a-8fd5-9f00c1249cf6"
      unitRef="usd">1912000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if98b70a755f34fe38d4e528bbdc52f89_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzktNS0xLTEtMTg2ODk_a8cd1d95-5e8a-40bc-ae58-990cc121cdba"
      unitRef="usd">3812000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEwLTEtMS0xLTE4Njg5_fcae0104-5c71-4b16-bd29-738973560bc5"
      unitRef="usd">17730000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEwLTMtMS0xLTE4Njg5_22a52f2e-55bc-4897-b0a6-374450bfaa21"
      unitRef="usd">18184000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEwLTUtMS0xLTE4Njg5_0219b245-6510-46e0-81a1-857163c236d8"
      unitRef="usd">21278000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i77ec980fd65e483185800534cade882c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzExLTEtMS0xLTE4Njg5_8c9f867e-a763-4c55-909c-b02646ec901d"
      unitRef="usd">137520000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifc0be87e46db43a299ea815acfaf03f6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzExLTMtMS0xLTE4Njg5_ca8ee225-1790-49f6-88bb-b475ad0d55ee"
      unitRef="usd">111534000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic0e5871eb08e4d5cb61983f5950b46a6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzExLTUtMS0xLTE4Njg5_1859c7cf-6eeb-43af-bc84-0f3e6a6daf9a"
      unitRef="usd">109282000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEyLTEtMS0xLTE4Njg5_70e1dddb-fbc2-4259-8e85-08eb0dd1e6e2"
      unitRef="usd">280629000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEyLTMtMS0xLTE4Njg5_8781ac34-5246-4908-8c54-01a3a004b575"
      unitRef="usd">264488000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzEyLTUtMS0xLTE4Njg5_dbb80d55-4aab-42f0-b0de-47f31f84e44d"
      unitRef="usd">274634000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i396944ff3ba942049790a47bde82ea44_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE1LTEtMS0xLTE4Njg5_88c88350-9563-4caf-811f-c0eab2b412f4"
      unitRef="usd">65776000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i8add1fe0b7094bfea04a75a643d1cc19_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE1LTMtMS0xLTE4Njg5_b863f657-9d2d-4fc5-ae88-e9d0072cad1d"
      unitRef="usd">64540000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i68250114a9cb4fa1945033918d2365fe_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE1LTUtMS0xLTE4Njg5_3909ad50-891a-4ef8-b3b9-e1cf4ef731be"
      unitRef="usd">68569000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE2LTEtMS0xLTE4Njg5_c1553f2c-3d93-49ae-bbc9-fb7f12ed5875"
      unitRef="usd">4888000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE2LTMtMS0xLTE4Njg5_eacad79c-b585-4fe4-bb23-b75c6bf85116"
      unitRef="usd">4821000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE2LTUtMS0xLTE4Njg5_b93bac3b-6c70-4a67-aac1-52b1420d5154"
      unitRef="usd">5303000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i77ec980fd65e483185800534cade882c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE3LTEtMS0xLTE4Njg5_6fc37878-437b-4e77-aa7d-0fc1aa24b833"
      unitRef="usd">69083000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ifc0be87e46db43a299ea815acfaf03f6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE3LTMtMS0xLTE4Njg5_e9ce5e48-4e79-41d3-a699-a65f0d0b2721"
      unitRef="usd">58881000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ic0e5871eb08e4d5cb61983f5950b46a6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE3LTUtMS0xLTE4Njg5_973941f1-1165-4266-b9ed-c33d991b7ec2"
      unitRef="usd">56617000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE4LTEtMS0xLTE4Njg5_8880355a-36ef-4199-aba9-b3013722b8f4"
      unitRef="usd">139747000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE4LTMtMS0xLTE4Njg5_d5721b30-2cba-4013-a976-0591ff401bff"
      unitRef="usd">128242000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzE4LTUtMS0xLTE4Njg5_582cbf26-594a-4cb6-acfc-d3484d364534"
      unitRef="usd">130489000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i396944ff3ba942049790a47bde82ea44_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIxLTEtMS0xLTE4Njg5_7cb84f39-042b-4657-abff-0e3e508f109f"
      unitRef="usd">59603000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i8add1fe0b7094bfea04a75a643d1cc19_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIxLTMtMS0xLTE4Njg5_cba40c6f-0650-4316-9ee3-29be99346073"
      unitRef="usd">70230000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i68250114a9cb4fa1945033918d2365fe_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIxLTUtMS0xLTE4Njg5_8fb1cdcc-c455-4e88-a609-fbee58a371e6"
      unitRef="usd">75505000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i36bface2e98f4f2487331a530721c0d1_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIyLTEtMS0xLTE4Njg5_59547001-2c8e-4b20-8dfa-9fed008b6e90"
      unitRef="usd">12842000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ib662ae5bc32e4ba78797d977a550ad98_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIyLTMtMS0xLTE4Njg5_b2b1f497-9956-44ea-95c3-e80918e3af9a"
      unitRef="usd">13363000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i4daf0bb3525d4c7481b29d72b6ca3ef0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIyLTUtMS0xLTE4Njg5_a36195f9-39bb-4e2c-85d1-5a1726791aa7"
      unitRef="usd">15975000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i77ec980fd65e483185800534cade882c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIzLTEtMS0xLTE4Njg5_1f4be3e2-d7de-4575-90c1-68f807d0341a"
      unitRef="usd">68437000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ifc0be87e46db43a299ea815acfaf03f6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIzLTMtMS0xLTE4Njg5_8f6c295a-e740-4147-a905-6c833638f1b6"
      unitRef="usd">52653000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ic0e5871eb08e4d5cb61983f5950b46a6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzIzLTUtMS0xLTE4Njg5_cc9982d1-13c2-44c9-bdbf-085d696d6040"
      unitRef="usd">52665000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI0LTEtMS0xLTE4Njg5_8924e894-0ae9-4975-9253-8fa7d72d28b0"
      unitRef="usd">140882000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI0LTMtMS0xLTE4Njg5_c7c71eef-f4df-4538-b1cf-006484b88d00"
      unitRef="usd">136246000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI0LTUtMS0xLTE4Njg5_7b98105d-86a7-4c16-83ff-a662ddaf98d7"
      unitRef="usd">144145000</us-gaap:GrossProfit>
    <us-gaap:OperatingExpenses
      contextRef="i307fc3d65df74d78b8f27d9a56d2a6d2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI2LTEtMS0xLTE4Njg5_af17a451-c9fa-4e55-b384-03ed23cd4c0b"
      unitRef="usd">116175000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="idefb735c8ded4a32bde065be3f7e28fe_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI2LTMtMS0xLTE4Njg5_1fa983a2-8e5f-4d0c-9786-cde8649635fa"
      unitRef="usd">115192000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i49510c27dc9a48ebab0f4bdf515a6d9a_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI2LTUtMS0xLTE4Njg5_e0e27e1a-2d81-4d41-ae8e-ceddf80781b5"
      unitRef="usd">119562000</us-gaap:OperatingExpenses>
    <us-gaap:OtherNonoperatingIncome
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI3LTEtMS0xLTE4Njg5_0297363c-4b42-4bc9-9600-4097a8e065c3"
      unitRef="usd">1529000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI3LTMtMS0xLTE4Njg5_988948e8-d1c2-42b0-a20a-c8941127e113"
      unitRef="usd">1494000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI3LTUtMS0xLTE4Njg5_443cfd91-8a8c-4184-8e96-e7b02aacdf92"
      unitRef="usd">807000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI4LTEtMS0xLTE4Njg5_dcae09ae-a4a4-4fcd-938c-a0d25f9eb51e"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI4LTMtMS0xLTE4Njg5_416799a8-7edc-48a5-9d83-c759b999b44c"
      unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI4LTUtMS0xLTE4Njg5_50ef53c6-811f-40d7-80f0-2b56e6ecd05c"
      unitRef="usd">5000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI5LTEtMS0xLTE4Njg5_343c2625-02c0-4b84-945c-c88cdfc59b30"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI5LTMtMS0xLTE4Njg5_8d389e1f-ab87-4bfd-92b1-37c96430a262"
      unitRef="usd">-202000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzI5LTUtMS0xLTE4Njg5_0fa900be-e985-4be7-ad63-e3d6e499afd3"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:InterestExpense
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMwLTEtMS0xLTE4Njg5_817b123e-21d3-4c48-b0f8-4ccc6ade686c"
      unitRef="usd">3160000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMwLTMtMS0xLTE4Njg5_99d1196f-4198-4a7d-832c-ca438315ef99"
      unitRef="usd">3562000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMwLTUtMS0xLTE4Njg5_813f9d1b-e37b-447d-9965-6174f51c13b9"
      unitRef="usd">6694000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMxLTEtMS0xLTE4Njg5_55b5e5a6-b6f1-4eac-a383-daeb072b70c8"
      unitRef="usd">23076000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ieb3ffadd0edf4434a97b7c7f26f1082e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMxLTMtMS0xLTE4Njg5_0cab11eb-93a0-44db-a5ae-4ee8247807f4"
      unitRef="usd">18784000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i9de2879e3f114fd0ab0a1995ab85c5c6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTAvZnJhZzo1MjI5NGEwOGI2OGU0MDQxYTEwMDMzMzQzNjRkYTYzNi90YWJsZTo4NzlhM2U1YjcyMjI0ZjBjODIxODEzZDZjODU3ZGIxZi90YWJsZXJhbmdlOjg3OWEzZTViNzIyMjRmMGM4MjE4MTNkNmM4NTdkYjFmXzMxLTUtMS0xLTE4Njg5_85687764-1e7a-4790-a335-b49bdcd08212"
      unitRef="usd">23696000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTMvZnJhZzo2NjMzMjhkMjUxZTk0MmI0ODdhNDkyNjMyOGRmY2E4MS90ZXh0cmVnaW9uOjY2MzMyOGQyNTFlOTQyYjQ4N2E0OTI2MzI4ZGZjYTgxXzEyMTQ_967c1c7f-b730-476f-9ec6-76a8fe7d91e9">SUBSEQUENT EVENTS&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 1, 2022, the Company acquired all of the assets and liabilities of Healthcare Resource Group, Inc., a Washington corporation ("HRG"), pursuant to a Stock Purchase Agreement dated March 1, 2022. Based in Spokane, Washington, HRG is a leading provider of customized RCM solutions and consulting services that enable hospitals and clinics to improve efficiency, profitability, and patient satisfaction. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Stock Purchase Agreement provides for a total purchase price of $44.0&#160;million, subject to various upward or downward adjustments, including for working capital, cash, indebtedness, and transaction expenses of HRG. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due to the proximity of the acquisition date to the Company's filing of its Annual Report on Form 10-K for the year ended December 31, 2021, the initial accounting for the HRG business combination is incomplete, and therefore the Company is unable to disclose certain information required by ASC 805, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Business Combinations, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;including the provisional amounts recognized as of the acquisition date for each major class of assets acquired, liabilities assumed and goodwill. A preliminary valuation assessment is expected to be provided on our quarterly report on Form 10-Q for the three month ended March 31, 2022.&lt;/span&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i8058d01dccac498f872f7e6ff309021b_D20220301-20220301"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTMvZnJhZzo2NjMzMjhkMjUxZTk0MmI0ODdhNDkyNjMyOGRmY2E4MS90ZXh0cmVnaW9uOjY2MzMyOGQyNTFlOTQyYjQ4N2E0OTI2MzI4ZGZjYTgxXzEwOTk1MTE2MzE4MzU_3163317f-8c8e-4b8e-b3ce-a2bd125d7d04"
      unitRef="usd">44000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <cpsi:CARESActTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8xOTkvZnJhZzo0MzY2ZDVmNDFhY2Q0MDlkYTI3MjUyNzI1ODgzYmVjMC90ZXh0cmVnaW9uOjQzNjZkNWY0MWFjZDQwOWRhMjcyNTI3MjU4ODNiZWMwXzI5MjQ_1e911f3c-3c4e-431b-9424-15242b2d16b1">COVID-19 PANDEMIC &lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, a novel coronavirus disease ("COVID-19") was reported, and in January 2020, the World Health Organization ("WHO") declared it a Public Health Emergency of International Concern. In February 2020, the WHO raised its assessment of the COVID-19 threat from high to very high at a global level due to the continued increase in the number of cases and affected countries, and in March 2020, the WHO characterized COVID-19 as a pandemic and the President of the United States declared the COVID-19 outbreak a national emergency.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The COVID-19 pandemic has caused, and is continuing to cause, severe economic, market, and other disruptions to the U.S. and global economies. The Company began experiencing adverse business conditions beginning in the latter half of March 2020, which have persisted through the date of this report, including the results of operations for the year ended December 31, 2021. Most notably:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Travel restrictions and social distancing protocols have created an additional challenge to our on-site implementation and sales teams. Although we have shown success with remote implementation models and our sales representatives are engaging in remote contact with existing customers and prospects, these restrictions and protocols are expected to continue to have an incrementally negative impact on implementation revenues and new sales generation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Although patient volumes at our client hospitals have largely recovered from the severe declines in such volumes experienced during much of 2020, there can be no guarantee as to the permanence of this recovery. As the overwhelming majority of TruBridge revenues are directly or indirectly correlated with client patient volumes, any further reduction in these patient volumes may negatively impact our related revenues.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Although we have experienced no notable disruption to our operating cash flows through the date of this report,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the aforementioned limitations on travel and decreased client patient volumes increase the risk of decreased cash collections from our customers as long as these conditions persist. Such decreases in cash collections could be further negatively impacted by the amount and extent to which the pandemic impacts the financial condition and liquidity of our customers.&lt;/span&gt;&lt;/div&gt;Despite these adverse business conditions, the pandemic has had a muted impact on our financial condition as of December 31, 2021. However, the ultimate impact of COVID-19 on our operations and financial performance in future periods remains uncertain and will depend on future pandemic related developments, including the duration of the pandemic, any potential subsequent waves of COVID-19 infection, emergence of new variants, the effectiveness, distribution, and acceptance of COVID-19 vaccines, and related government actions to prevent and manage disease spread, all of which are uncertain and cannot be predicted. Consequently, the ongoing pandemic could result in a material impact to the Company's future financial position, results of operations, cash flows and liquidity.</cpsi:CARESActTextBlock>
    <srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock
      contextRef="i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90ZXh0cmVnaW9uOjQyNmRmOTNkZWM0OTRlNzE5OTZmNmJkY2Y0YTMyMzE1XzM0Mg_e8e54cc2-1b14-48dd-a319-37a6e1bdaa3a">&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;VALUATION AND QUALIFYING ACCOUNTS&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;(In thousands)&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.790%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.731%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.731%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.731%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.731%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.738%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Balance at&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;beginning of&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;period&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Additions&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;charged&#160;to&#160;cost&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;and expenses (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deductions (2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Balance&#160;at&#160;end&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;of period&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for credit losses deducted from accounts receivable in the balance sheet&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,424)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,202)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,986)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,826&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)   Adjustments to allowance for change in estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)   Uncollectible accounts written off, net of recoveries.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:13.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:6.75pt;padding-right:6.75pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.790%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.731%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.731%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.731%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.731%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.738%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Balance at&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;beginning&#160;of&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;period&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Additions&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;charged&#160;to&#160;cost&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;and expenses (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Deductions (2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Balance&#160;at&#160;end&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;of period&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for credit losses deducted from financing receivables in the balance sheet&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;970&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(566)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,971&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,971&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,114)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,248)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)   Adjustments to allowance for change in estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)   Uncollectible accounts written off, net of recoveries.&lt;/span&gt;&lt;/div&gt;</srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i9f318f4174c44b08bf9c6fd34db63b56_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzEtMy0xLTEtMTg2ODk_fc77e40d-e5b2-40fd-beb7-af6edd379189"
      unitRef="usd">2124000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i3bcc10c17f7d43b0ac51136bd8956f60_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzEtNS0xLTEtMTg2ODk_24b213dc-0145-4649-a802-1089b7d4c5ee"
      unitRef="usd">1378000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i3bcc10c17f7d43b0ac51136bd8956f60_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzEtNy0xLTEtMTg2ODk_003aea88-e21c-4774-8b5c-140df9e1741f"
      unitRef="usd">1424000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ic5469b8ecd8f494a87edad3b2ac4b93a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzEtOS0xLTEtMTg2ODk_f0f1e47f-0f56-4c22-94e0-cb22e550c9da"
      unitRef="usd">2078000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ic5469b8ecd8f494a87edad3b2ac4b93a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzItMy0xLTEtMTg2ODk_ed925fdd-d261-4ec6-9f98-e758f9192c67"
      unitRef="usd">2078000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="ie2399265c8674996aa82fdb87d6fe9ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzItNS0xLTEtMTg2ODk_3af5aa13-0293-49ac-9b39-b1242597d754"
      unitRef="usd">2825000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="ie2399265c8674996aa82fdb87d6fe9ee_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzItNy0xLTEtMTg2ODk_6350a5dd-7cec-45c4-8677-9a67f7a95971"
      unitRef="usd">3202000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="iafa093836b8a4b1894776ab8850014fe_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzItOS0xLTEtMTg2ODk_bdd6bc20-d4fc-4f42-9921-3403b87cb6fd"
      unitRef="usd">1701000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="iafa093836b8a4b1894776ab8850014fe_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzMtMy0xLTEtMTg2ODk_ccef913e-449f-431c-a049-80852c148b9b"
      unitRef="usd">1701000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="iee586bdc51aa4f27a0306ae06003ea57_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzMtNS0xLTEtMTg2ODk_b98b89cd-47f3-4d74-867d-55a2cf1bcbc5"
      unitRef="usd">2111000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="iee586bdc51aa4f27a0306ae06003ea57_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzMtNy0xLTEtMTg2ODk_182f2132-4221-4268-9145-ace9c20f9fca"
      unitRef="usd">1986000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="if5c511157e3c4b42ac89d7789ab56c81_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpjNDc5NTQ5MGI4ZjA0OWJkODkyYWNiZTU4NTU3OWMwYS90YWJsZXJhbmdlOmM0Nzk1NDkwYjhmMDQ5YmQ4OTJhY2JlNTg1NTc5YzBhXzMtOS0xLTEtMTg2ODk_3f45a018-b2a2-4f2f-81d4-85fb229ffc73"
      unitRef="usd">1826000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i8e26f510fe624e779ee96e79177b2314_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzEtMy0xLTEtMTg2ODk_681bc7bc-92e1-42b6-92ba-3427dde7f2b5"
      unitRef="usd">2567000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i5a9c5ff7a4d8450f8f48e1de56002971_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzEtNS0xLTEtMTg2ODk_b0805996-3ae2-4cb9-9c72-3d0c6f944078"
      unitRef="usd">970000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i5a9c5ff7a4d8450f8f48e1de56002971_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzEtNy0xLTEtMTg2ODk_f68cd101-36c7-404c-8099-bd7e1b12c87f"
      unitRef="usd">566000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i5e2f81ad4914429aa8c24f6aff455565_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzEtOS0xLTEtMTg2ODk_c6bf4723-a65b-4d8a-b0cd-a601bd9c7ffc"
      unitRef="usd">2971000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i5e2f81ad4914429aa8c24f6aff455565_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzItMy0xLTEtMTg2ODk_0e537c61-2a0e-455f-b3bd-9c6402d084bb"
      unitRef="usd">2971000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i835f5ffe75af457f82d7be967e4038d6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzItNS0xLTEtMTg2ODk_cffff9a9-85cf-450c-b2a6-4a64a3b1f5d6"
      unitRef="usd">1632000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i835f5ffe75af457f82d7be967e4038d6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzItNy0xLTEtMTg2ODk_e4fb0e17-4b41-444b-b3d6-16b810106542"
      unitRef="usd">3114000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i7a9283acfbf843a6afb93ca0a5acd410_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzItOS0xLTEtMTg2ODk_157a0c83-e47c-4f19-8dc5-8d70d25edb5b"
      unitRef="usd">1489000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i7a9283acfbf843a6afb93ca0a5acd410_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzMtMy0xLTEtMTg2ODk_5f2fa0bb-b912-40e5-b95e-2eda1e245f23"
      unitRef="usd">1489000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="if4c975bd975c4feb9e38c4503703ce63_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzMtNS0xLTEtMTg2ODk_15d9511a-4d90-4900-8531-8de6e1f0dfe1"
      unitRef="usd">481000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="if4c975bd975c4feb9e38c4503703ce63_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzMtNy0xLTEtMTg2ODk_88a08c10-24e0-4483-91e4-9b0635518f56"
      unitRef="usd">1248000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="if06dd002edf2474db0d4d72d9d89a505_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjk3MDMwMWM5YzUwZjQ2NzM4NGRjMTRmOTYyZmMwM2RhL3NlYzo5NzAzMDFjOWM1MGY0NjczODRkYzE0Zjk2MmZjMDNkYV8yMDIvZnJhZzo0MjZkZjkzZGVjNDk0ZTcxOTk2ZjZiZGNmNGEzMjMxNS90YWJsZTpiYzRkNGQyNGZhMTQ0ZTA2YThhZGYwNGQ4NjYyOTVkZC90YWJsZXJhbmdlOmJjNGQ0ZDI0ZmExNDRlMDZhOGFkZjA0ZDg2NjI5NWRkXzMtOS0xLTEtMTg2ODk_8a4d8155-1625-42bd-afa9-9efa80aa1ce8"
      unitRef="usd">722000</us-gaap:ValuationAllowancesAndReservesBalance>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>99
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( %> ;U0'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " !7@&]4NT&!S>T    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M2L0P$(9?17)O)TW00^CVLN))07!!\1:2V=U@TX1DI-VWMXV[740?P&-F_GSS
M#4QKHC(AX7,*$1,YS#>3[X>L3-RP(U%4 -D<T>M<SXEA;NY#\IKF9SI U.9#
M'Q $YW?@D;35I&$!5G$ELJZU1IF$FD(ZXZU9\?$S]05F#6"/'@?*T-0-L&Z9
M&$]3W\(5L, (D\_?!;0KL53_Q)8.L'-RRFY-C>-8C[+DYAT:>'MZ?"GK5F[(
MI >#\Z_L%)TB;MAE\JO<WN\>6">X$!6757.[$UQQH:1\7UQ_^%V%?;!N[_ZQ
M\46P:^'7771?4$L#!!0    ( %> ;U297)PC$ 8  )PG   3    >&PO=&AE
M;64O=&AE;64Q+GAM;.U:6W/:.!1^[Z_0>&?V;0O&-H&VM!-S:7;;M)F$[4X?
MA1%8C6QY9)&$?[]'-A#+E@WMDDVZFSP$+.G[SD5'Y^@X>?/N+F+HAHB4\GA@
MV2_;UKNW+][@5S(D$4$P&:>O\, *I4Q>M5II ,,X?<D3$L/<@HL(2W@4R]9<
MX%L:+R/6ZK3;W5:$:6RA&$=D8'U>+&A T%116F]?(+3E'S/X%<M4C66C 1-7
M02:YB+3R^6S%_-K>/F7/Z3H=,H%N,!M8('_.;Z?D3EJ(X53"Q,!J9S]6:\?1
MTDB @LE]E 6Z2?:CTQ4(,@T[.IU8SG9\]L3MGXS*VG0T;1K@X_%X.+;+THMP
M' 3@4;N>PIWT;+^D00FTHVG09-CVVJZ1IJJ-4T_3]WW?ZYMHG J-6T_3:W?=
MTXZ)QJW0> V^\4^'PZZ)QJO0=.MI)B?]KFNDZ19H0D;CZWH2%;7E0-,@ %AP
M=M;,T@.67BGZ=90:V1V[W4%<\%CN.8D1_L;%!-9ITAF6-$9RG9 %#@ WQ-%,
M4'RO0;:*X,*2TER0UL\IM5 :")K(@?5'@B'%W*_]]9>[R:0S>IU].LYKE']I
MJP&G[;N;SY/\<^CDGZ>3UTU"SG"\+ GQ^R-;88<G;CL3<CH<9T)\S_;VD:4E
M,L_O^0KK3CQG'U:6L%W/S^2>C'(CN]WV6'WV3T=N(]>IP+,BUY1&)$6?R"VZ
MY!$XM4D-,A,_")V&F&I0' *D"3&6H8;XM,:L$> 3?;>^",C?C8CWJV^:/5>A
M6$G:A/@01AKBG'/F<]%L^P>E1M'V5;S<HY=8%0&7&-\TJC4LQ=9XE<#QK9P\
M'1,2S90+!D&&ER0F$JDY?DU($_XKI=K^G-- \)0O)/I*D8]ILR.G=";-Z#,:
MP4:O&W6':-(\>OX%^9PU"AR1&QT"9QNS1B&$:;OP'J\DCIJMPA$K0CYB&38:
M<K46@;9QJ81@6A+&T7A.TK01_%FL-9,^8,CLS9%USM:1#A&27C="/F+.BY 1
MOQZ&.$J:[:)Q6 3]GE[#2<'H@LMF_;A^AM4S;"R.]T?4%TKD#R:G/^DR- >C
MFED)O816:I^JAS0^J!XR"@7QN1X^Y7IX"C>6QKQ0KH)[ ?_1VC?"J_B"P#E_
M+GW/I>^Y]#VATK<W(WUGP=.+6]Y&;EO$^ZXQVM<T+BAC5W+-R,=4KY,IV#F?
MP.S]:#Z>\>WZV22$KYI9+2,6D$N!LT$DN/R+RO JQ GH9%LE"<M4TV4WBA*>
M0AMNZ5/U2I77Y:^Y*+@\6^3IKZ%T/BS/^3Q?Y[3-"S-#MW)+ZK:4OK4F.$KT
ML<QP3A[+##MG/)(=MG>@'37[]EUVY".E,%.70[@:0KX#;;J=W#HXGIB1N0K3
M4I!OP_GIQ7@:XCG9!+E]F%=MY]C1T?OGP5&PH^\\EAW'B/*B(>ZAAIC/PT.'
M>7M?F&>5QE T%&ULK"0L1K=@N-?Q+!3@9& MH >#KU$"\E)58#%;Q@,KD*)\
M3(Q%Z'#GEUQ?X]&2X]NF9;5NKREW&6TB4CG":9@39ZO*WF6QP54=SU5;\K"^
M:CVT%4[/_EFMR)\,$4X6"Q)(8Y07IDJB\QE3ON<K2<15.+]%,[82EQB\X^;'
M<4Y3N!)VM@\",KF[.:EZ93%GIO+?+0P)+%N(61+B35WMU>>;G*YZ(G;ZEW?!
M8/+]<,E'#^4[YU_T74.N?O;=X_INDSM(3)QYQ1$!=$4"(Y4<!A87,N10[I*0
M!A,!S93)1/ "@F2F'("8^@N]\@RY*17.K3XY?T4L@X9.7M(E$A2*L P%(1=R
MX^_ODVIWC-?Z+(%MA%0R9-47RD.)P3TS<D/85"7SKMHF"X7;XE3-NQJ^)F!+
MPWING2TG_]M>U#VT%SU&\Z.9X!ZSAW.;>KC"1:S_6-8>^3+?.7#;.MX#7N83
M+$.D?L%]BHJ $:MBOKJO3_DEG#NT>_&!()O\UMND]MW@#'S4JUJE9"L1/TL'
M?!^2!F.,6_0T7X\48JVFL:W&VC$,>8!8\PRA9CC?AT6:&C/5BZPYC0IO0=5
MY3_;U UH]@TT')$%7C&9MC:CY$X*/-S^[PVPPL2.X>V+OP%02P,$%     @
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
M^_VQSRD37ARYM;6*(UEBS@2L%=$EYU1]S""7U<0+O./"AATRM M^'!7T *^
M7XNU,I;?4E+&06@F!5&PGWC3X&XVMO[.X1N#2I_,B<UD)^6;-1;IQ.M;09!#
M@I9 S? ;[B'/+<C(^-4PO?9(&W@Z/](?7.XFEQW5<"_S[RS%;.+=>B2%/2US
MW,CJ"9I\1I:7R%R[+ZEJW_"S1Y)2H^1-L%' F:A'^M[<PTE <"D@; )"I[L^
MR*F<4Z1QI&1%E/4V-#MQJ;IH(XX)^U->49E=9N(PGI8I0[(0]>\U]Q3Y:+!V
MTT\:Q*Q&A!<004B>I<!,DR\BA?1?@&_TM*+"HZA9V$F<0](C@^"&A/TPZ. -
MVB0'CC>X-DGR8[K3J,R3^-F!'[;XH<,/N_!2D0>F.%G,S]U@-R <WG;(&+4R
M1E?)6%$.YS1T1S]NIJLMV3Z];%;;EQ59+M<=DL:MI/%5DI8RN?BX_D/ G JD
M-^013.=A])PH_^3Y<U '5^2:)+(46%="N]KVD6E=/G_=ZR;T3,TA0I,<]B:T
MW_MD+DW5A5T;* M73#N)IC3=-#.]$)1U,/M[*?%HV /:[AK_ 5!+ P04
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
M)*&>M&$C_5B8?E^%YO 1-*I<M5!2W._<;+"Q#,?3(X3#C.0)]334[.CU8!B
MWQ24N:UZ?$J^+!^2RY<[41HP<2>,3<0S&J?3FNXR@PWL>6_%1G"RUX"S\VYB
MIV1'%T5!\_1<XK+#YI]']$A0%B:H51G[V+_1B=AZ5>OL)EQVKL(Y/WJ=;WY+
M^9NK5=5V@,HE#,3G*<R@]C]/[&^TW/1O^!=2:]GTEVO!0;PQ@.^74NJG&_.C
MP? CT=7_4$L#!!0    ( %> ;U0IJ% %Y (  $<(   8    >&PO=V]R:W-H
M965T<R]S:&5E=#0N>&ULE9;?;]HP$,?_%2OJ0RMUY!<05@%22U5M#Y-0:;>'
M:0\F.8A5Q\YL!]K]]3L[:10HE)8'\(_[WGWN<HX9;Z5ZTCF (<\%%WKBY<:4
M5[ZOTQP*JGNR!($[*ZD*:G"JUKXN%=#,B0KN1T$P] O*A#<=N[6YFHYE93@3
M,%=$5T5!U<L-<+F=>*'WNG#/UKFQ"_YT7-(U+, \EG.%,[_UDK$"A&92$ 6K
MB7<=7LU&UMX9_&2PU9TQL9DLI7RRD^_9Q LL$'!(C?5 \6<#,^#<.D*,OXU/
MKPUIA=WQJ_<[ESOFLJ0:9I+_8IG))][((QFL:,7-O=Q^@R:?@?672J[=-]DV
MMH%'TDH;631B)"B8J'_I<U.'CB#L'Q%$C2#ZJ"!N!+%+M"9S:=U20Z=C);=$
M66OT9@>N-DZ-V3!AG^+"*-QEJ#/3F11:<I91 QFYH9R*%,C"NM/D?$X5").#
M82GE%^0+>5S<DO.S"Z)SW-&$"?*0RTI3D>E+<K8S'_L&\6P0/VU0;FJ4Z C*
M+:0]$H>7) JB\(!\]G%YL"OWL2AM9:*V,I'S%Q_QMS!8$^Q70^2*W#&!E6&4
MD[G4S#7@[^NE-@K;\,\[P>(V6.R"]8\$NTY360FLN8(4V(8N.5P2RO&,N0>"
MIY5DLEJ:5<6Q\VO;0Q6NHPQ<%'N -]-P% W'_J9;QP-&21"V1CL)]-L$^N\F
M,)-%@47!?DV?+DE)%=E07@$YQY[().=4:5*"JCOGXA!Z[3_I4 6]H(-5LY^R
MVH$?M/"#3\ WS4TKDTO%_N&YL$G4JP?):^?##E,<X&>/_)35#OFP)1]^GIQI
M79VF'K[A"?M)W-^C/F0U"(_4.VFID\]3XQ6C#;XYF%B?0D\^A'[(ZBCZJ$4?
MO8O^@%>EKM3+'OP)X-$;E-'7/=JW)OUD#]7OO.;M%?N#JC43FG!8H2CH)=AB
MJKZVZHF1I7OS+Z7!>\0-<[SI05D#W%]):5XG]C)I_SM,_P-02P,$%     @
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
MIZ,I#.""A,13WA[B.HU^XA0>8C+UQ^23IW \6LH\"0XV!'JWCF%A',>C*0S
M.,=N!3 _.(0J1;UN#_.4Z6U3Z>[@9O]T?V#XICTF<Y[?X-?+[MAO,-.=0KY+
MZW5>*52(!V,RN(A,G^KN8*^[T7+;'G7=2ZUEV5YN1&HJ<@LP[Q^DU,\W]@/[
MX]7K?P!02P,$%     @ 5X!O5*RRFDE2!0  CQ@  !@   !X;"]W;W)K<VAE
M971S+W-H965T-BYX;6S%F5MOVS84Q[\*X15; ]2U2%W=.0;J2[ ^; B2=GL8
M]L!*=$Q4$EV1BM-O/U)6)(NBJ&3IMC[4NIQS].?AX?E1RN+(BB]\3X@ #UF:
M\\O)7HC#N]F,QWN28?Z6'4@N[^Q8D6$A3XN[&3\4!">54Y;.D.,$LPS3?+)<
M5->NB^6"E2*E.;DN "^S#!??5B1EQ\L)G#Q>N*%W>Z$NS):+ [XCMT1\.EP7
M\FS61$EH1G).60X*LKN<O(?OKEQ'.506OU-RY&?'0 WE,V-?U,F'Y'+B*$4D
M);%0(;#\N2=KDJ8JDM3QM0XZ:9ZI',^/'Z-?58.7@_F,.5FS] ^:B/WE))J
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
MCJ9\Z3B?X-I;<+^W^%[G:OI$<%6(X=4GY<WZ$5 [AOZ%VC8\9Y5:CBA7Q#.
MH[+N<VU8Q,SSFC6"(C%UG.%S[3^XWW^L7(2"K L>Q5-9UVI2826^B0P];^*V
ME8"43,QC 026,/.J<(V@HH0YMI3\Y/+=;TV\+(4Z3?/PLPT%(=RZ7\)@]C"L
M$=C9,)P3U.:$^R_F'P[[?=4_.0+"5I1M7DDH/6+:_&TJB%C6PV-*4$I]A]U<
MVP;NMPW]L/;'+>K&OJS!\,'.!1U$Y*)]:5Y3K1 4H]R\*490,7.=Y'%M$;C?
M(IAD])'1M(]NQ.90HQL-CE[IF[<E"(I2L_:ML5C$98&X-@Y\^?^F2"WK^<?3
M1*L[]ZO[GTW9B;G<;-1O;0Y5]0:[@O%F?KJ/04=UB!NA.C8.J0TAL76OZPTT
ML%J</,*U$\U3_RA<&_2GU,.S4-.GT^-V=_U#9L;G7\F7]?#0G XS/,/W2]9
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
M\#JYO_WE_>WKVYOK]Y^2ZYN;#Y_??[I]_TMR]^'M[<WMJ_OD3I=U7JXKV!Y
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
ME*&HFW%N.XHH;A'/I%WJIELLV8@ %_/%(%G8M^J;9/S5,"3IKJ)##=3DOWJ
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
MLJ6OW7;I%@]3'(!G/](WRJEMH'J]-'J!%H"BQU0U-AB+&C:GHLZ()GAQC_I
MOH&TL*J)7HA/3Q[^$2XLQ7A7+TIN:>=AU<5*PT)P&RV=5TJ\LJ@NPW-Q(KZE
M]3_3^N-^*SSIUH">$>14IG  Y8U">Z:H &C4B% ;MNEFP8VMRP*<(,?BYSVX
MD"SB&,]U%1%@1;FQ6L&Z!S"D%LN^C^6)79!8'!=R."XHF+GYX\07@HMU(NI'
MR]+QW-=R6YFJRF%2['*B+>/WZ"'0V1 -<8U1ZSFHW%QE&K#\5CVBYFY-/N\/
MFYH<>XRF*F.S7:L#.\;]46<'&3:O4Z+=Z;?F34'##ZI+>-?MP'>J)QF;>,YI
MD!Q0&VZ#%:ED16QEDB&9H$8O:<@=;M-) 2'AJ9UO\WD7*?\@5"0$'P;<NPNU
M6*1N*K6]U['IWBJ,A*T70H/%DEBE#/NQ5"%&U0_2U%2VHOA!-&UKQ@)URU#'
M#QOBL"/EE!12*E8(@%RW?0K*2&4I;UL#+W"HQU!%FP24I=-XK UU\R&ULAN*
M K(@$8>KHJ]+SJVA1JFZ3W&QDG<JFE'$7HX+%S>%7:7(V(<0V0/A<W+ZJ#QH
MPPH=.UM:<\C9AU$JK(IV,R".O92B42SJ4+L#YN[C?U >TCWPP-6)IC@HP\-C
M0?=-I 7.#AR-]V@CEUSHK$NM)O<7R&4 L'V-2X9#J3MFTW#1 ]KD#\/5@'IC
MT@W6KM%N(%;RP >W_<H#$/?%7RG:7WQ*X9V6(4.)SU45.K& \,*=ML7X.'*>
M^?YF/[8\RNWHXBP[FP[IT_DT.YL,.\LZD8?7@^QL/,6'X80W;)<5NN2L<" R
ML;H_&?*/P0.2J2?"K32O(R:4KOD2TU"JH7%[):RJ$L2?EPW;",;D2MSOHB,:
MQE'CUZW7L5CLQ0%Z+K?D!M[7Z^;83B7K7*KHK$_+;IL86+>#:8&C^$A#O3UI
MVZ:E:8]2."U0YJ#^;LKB.T9$Y,#U+%[;MOUSO +4:XK1O29L/TRZ*"N0O,%6
MEGZ+;MC9LC4DH<(7VJ;IW%>U#BBHO\9 O;,E]6&%FO/6&/SJT\OFWBCJ.Y#F
MK0(FW_-(H1E)C0GAX>4_,9'2Z$#_ D,# NG:NJI/<ZF7\%K)M=U2TFDR!VG>
MECG8MJ_,T1__<#$:#;[9>\Y/A]]\[?QJA@L$?-^:1F"N8T&ST>I1?-49;KV%
MQ#O4$93,QH;L$S4+5?(E7P25KXPM[?*^,^$A/\99%5JEP.V,K0.%:9HNF66Z
MZG%W'10G2+[<\H GC=#<OW.>,QST+_X3\YS)@7G.'IK_Q;E.]/V,:;S7XA!?
M"+U'W8E4_M M;=LVX\ "]=S1R"0EP:Z[#HP FC)*A(H#D,\ 5.!"2K6WJ: Q
MMR<'E]SZQ^2SXY'.Q"F%^,,3I[/?<N*T9\G_S.1I/Z!_GT#]-A.HPU.GKQOS
M'/+-;S+N&4X/#WO&9P>&/</!.75:5-?BY8&\63$DX[.I>-UVS*62S;47;<KH
M8GI@2G2>75QVAD27V?G9U\R(II>3S@ (\4@7:LKT1\/L?'QV_(DVVU\"';%*
MGYLO3;/!X?G29/S@=&DX@$&CWZ=+OT^7_J^G2X=^Q7S:^77^&I=7_J,%^MTE
MK(V_V6^?MG\7,8M_#K!='O^H OWE4D/A4BVP== _G_:$BW^H$+\$6_$?!\QM
M"';-'U=*(G1I =XO+)R4OM ![5^+//L'4$L#!!0    ( %> ;U3WI-_SY0(
M ! &   9    >&PO=V]R:W-H965T<R]S:&5E=#$Q+GAM;*5546_;-A#^*P>A
M#PD@1!*MV(IA&[ 3#PO0M%[:;AB&/=#2R2)*D2I)Q>F_[Y%RU&18LH<!!GE'
MWGW?W5%W7ARU^6H;1 >/K51V&37.=?,DL66#+;<7ND-%-[4V+7>DFD-B.X.\
M"DZM3%B:3I.6"Q6M%N%L9U8+W3LI%.X,V+YMN?F^0:F/RRB+G@[NQ:%Q_B!9
M+3I^P$_HOG0[0UHRHE2B166%5F"P7D;K;+[)O7TP^%W@T3Z3P6>RU_JK5VZK
M993Z@%!BZ3P"I^T!KU%*#T1A?#MA1B.E=WPN/Z'_$G*G7/;<XK66?XC*-<NH
MB*#"FO?2W>OCKWC*Y]+CE5K:L,)QL,V)L>RMT^W)F?16J&'GCZ<Z/',HTE<<
MV,F!A;@'HA#E#7=\M3#Z",9;$YH70JK!FX(3RC_*)V?H5I"?6^T,O:]QWX&K
M"K;?>M%1Q=TB<83M+9+RA+,9<-@K.!F#.ZU<8V&K*JQ> B04U!@9>XILP]Y$
MO,'R B99#"QEV1MXDS'32<";_$>F,>PD5^YEPO#7>F^=H6_D[S>H\I$J#U3Y
M_R[JFSB^(>>VXR4N(^HXB^8!H]7N_N-N>__Y3UA_N('M;U]N=W?;#Y_A!2>.
M>1W1()2Z[8RP6(&NP34(M9;4C4(=@#N@0F.[1S,6.T"0D,[A[%:1@^XM'=GS
MX=;?P'MO\PY87.3%N&]Z(2M"M0%!$*E^0!^&A2)FTRN_Y@RN*9S>$>'/,&=Q
M,2UHS?(<WB-U6:/E/Q!FQ02RF-'ZL:Y%24GT1@G74WZ>K1:/7K8P+1@4[ K6
M/?6.W@M)9UGA?RR-\VG8)E-/8^V<ID+9M[WDCHI3(56Y%#R,B[,B+F;%.9S-
M8L8NSU^I;PR*!N<[R++X\BKUPB3.)E?P;Q]1\JQ+6S2',(LL/4ZOW-"PX^DX
M[M9#E_\T'V;E'3<'H2Q(K,DUO9A=1F"&^3,H3G>AY_?:416"V-#(1N,-Z+[6
MVCTIGF#\$UC] %!+ P04    " !7@&]4B,@P?20&  #8#@  &0   'AL+W=O
M<FMS:&5E=',O<VAE970Q,BYX;6RE5TUOVS@0_2N$T4,+./YN-@V2 /E:;(%V
M&S1M<UCL@99&%K<4J9*4W>ROWS>D+"N)DQ[VDL@2^>;-S)L9\F1CW7=?$@7Q
ML]+&GP[*$.KC\=AG)572CVQ-!E\*ZRH9\-.MQKYV)/.XJ=+CV61R.*ZD,H.S
MD_CNQIV=V"9H9>C&"=]4E73W%Z3MYG0P'6Q??%:K,O"+\=E)+5=T2^%K?>/P
M:]RAY*HBXY4UPE%Q.CB?'E\L>'U<\$W1QO>>!7NRM/8[_WB?GPXF3(@T98$1
M)/ZMZ9*T9B#0^-%B#CJ3O+'_O$7_/?H.7Y;2TZ75=RH/Y>G@:"!R*F2CPV>[
M^8-:?]XR7F:UCW_%)JV='PY$UOA@JW8S&%3*I/_R9QN'WH:CR3,;9NV&6>2=
M#$665S+(LQ-G-\+Q:J#Q0W0U[@8Y93@IM\'AJ\*^<'9KB["1CL05K9&A&O$.
M)^, 9/X^SEJ4BX0R>P9E.A,?K0FE%]<FI_PAP!B4.EZS+:^+V8N(5Y2-Q'PZ
M%+/);/H"WKSS<Q[QYL_@?29/TF6ED";O^RK^.E_ZX"".OU^PLNBL+**5Q?^,
MYHLH7(?'OI89G0Y0:)[<F@9GMY]^_W)W_OE:7%U_N_[PZ>;C]9]?1&<O[WF4
M61^\X+<RRVQC N4"U2N4B2]<+DU&D%DHQ?GMI9B_G1PL)D/Q'@N=D?K@JZ<=
M\$C<D<ADK8+4ZE\"2-8X!T0ME\!,MAC=[Z-2.%N)4)((*.3X (>T@H[1 /!L
M_T%QBKI$60GE@5;5FI@O6"L=-W2X^"[74L&NIFAQ18:<U&@-F@ P$@]RO"<B
M>&L!Z:*=!M[NP+E]!3(Q,FDU4"4S"7:_:_R;?J(W>BR2O@M,#!AY.(SMT8/&
M4]%HH55!PA;"-JX7T'R'SOQD95V(<0:%M=0-MB!M@B7*_>6 M<)M"-&P:W@0
M2ADZ<WDT,A2;4B$*6++[ #>6"!LZH+A'D/Q(O"\B.RB_D3MV\97WF ;8GA-5
MW5Y5U5+!P2'H;)P*=)#;C=GN:;GV 2IYS_L<L>92D*3(2NE6Q)!@8919@<EY
M<EK&-KVDE3(>+I")6-L\%"1#@VJ(@:\UJB-G17-UJ S)OVH<T))D8!&Q_-%(
MQTD&*6XBPQAY:U:6UU76J&#CEC@85%",[;W-5+07ZX/1NEPE?D#;JX>=QOJL
MX7I\3)Z%#<&K1X ."UMQUM SOT,^*@I.99P"KU8F)0'SBH=9-) K2$(MFRTG
MGGU8L":I>3&K@MW%4G,0A0F*;<D^- ]#I<VMMJM[@.;"6)1MH_5]9TYJO4UL
MAKRK#/1Z,3.4D?=<SZ#81J0G:I8"<GQI42@_&M#0]T.1_SI9&U01FT^N0S8&
MLF&7$F%>V*I[B]3O2%V;@D1:3KSL":T;I[ '!D+)_2=:2;9WE9,$O=5%WTKC
MHWY,?S4:W0$<52B(V &QF'.CK<R[I*+_0'\(,=*7F@"KC?OS2FG:KR\R:^6L
MX6?PODOJ?,C98%CU.X^G/6SWB2>M3<:?D'TJ6V[ K%=CH:T';QO#?:N58^R$
M2[1[>-'GRIT%8Z" V".2CYP,#G!]+<(LZV'KCW]DO^\8<XG3 T=%'SA8L7B5
MR7%^<@SE,61XQJ-3^$BKE&L.+RQ@%FT+Y@%'LYV>'+1G!URKMK:S/=W8I8.*
M(HEY>?_<VAHUD:DZ!7?(<?%-5@[!E9- YM$XCW,!(]37%$^V:2J@KQN.A&E/
MO9M]0MD[?IZZA3R^.AH=X=BI-6/UJI9G""3);1TG-:J62-7VM/9X LK4L5($
MDMQV<=YP^BW7J^,A_H :AB'<]3%D-3S]&1%1-J\6H\..%<?B5Y2&*0XR]6-?
MH^.P)SFU5L$ ^'D#?D_",-I[RAI"L"&RY\.$4WP*:)MD836N.K$SA*=4HEKQ
M,#D6K]_SB+.-QRO_)GWE+R\=ZUZ)Z6QX^&Z.A_EP/CL2']!\CUD:3=6DF2/[
MX_3U=#A9O'N#_].C-R\ )W^ /AT>+A81?3:=B'UGXG'OME$1ICG?J3@.2%:Z
M>'1ONVO;>;JM[):G.]]'' 9XVFLJL'4R^NWM0+ATCTH_@JWCW65I VY"\;'$
MU9,<+\#WPMJP_<$&NLOLV7]02P,$%     @ 5X!O5)!F413> @  ! 8  !D
M  !X;"]W;W)K<VAE971S+W-H965T,3,N>&ULK53;;MLP#/T5PBN&#<AJ6[FY
M71(@23LT0(<6S2X/PQX4FTZ$RI(G*4WW]Z-D)\V -4][D4B1Y_!BDZ.=-H]V
M@^C@N9+*CJ.-<_5E'-M\@Q6WY[I&1992FXH[4LTZMK5!7@10)6.6)(.XXD)%
MDU%XNS>3D=XZ*13>&[#;JN+F]PREWHVC--H_/(CUQOF'>#*J^1J7Z+[6]X:T
M^,!2B J5%5J!P7(<3=/+6<_[!X=O G?V2 9?R4KK1Z\LBG&4^(108NX\ Z?K
M"><HI2>B-'ZUG-$AI <>RWOV3Z%VJF7%+<ZU_"X*MQE'600%EGPKW8/>W6!;
M3]_SY5K:<,*N\>UV(\BWUNFJ!5,&E5#-S9_;/AP!LN05 &L!+.3=! I97G''
M)R.C=V"\-[%Y(90:T)2<4/ZC+)TAJR"<F]RY#1J8YKG98@&W@J^$%$Z@'<6.
MZ+U3G+=4LX:*O4*5,OBLE=M8N%8%%G\3Q)37(3FV3V[&3C)>87X.W;0#+&'I
M";[NH=ANX.N^PG?/?_.51 M<%4W-7%KX,5U99^CW^'DB1.\0HA="]/Y'/T]2
M^7&\M#7/<1S1O%DT3QA-[K[<7#_ =#Y_^'I]!;>+Z6QQN_BRN%Y"$YFWD>5+
M9-BA0<AU51MAR:1+(%<HM:2)%&H-W %U&JL5X??=#BTB(;F$=PM% +VU]&3?
M-U9O@267W(BVG2M46 IGX0RR3B]C= \[V7  2WQ"PU6.P+H#8'V8ZZH2UD^U
MA;23]C,ZDQ[1H2P_"&6WC7=;LO?I)1=T#HEL3C\8I8S*44&T&0JB#M/-.OTD
M@;=O,I:RCVTO")(-H-]/X:X.?E2K1!KAX^YT:,J,\82U-H$J[?0OF#_3[$13
MSR ==M)!UPLL!/K7WQ,?36:%9AWVCZ7<M\HU0WIX/:RX:3/9+^[-?OS,S9JZ
M0Q64!$W.A_T(3+-S&L7I.LSY2CO:&D'<T)I&XQW(7FKM]HH/<%C\DS]02P,$
M%     @ 5X!O5.TIF[^N!0  > \  !D   !X;"]W;W)K<VAE971S+W-H965T
M,30N>&ULS5=;3^0V%/XK5EJU(,W.)3,+ P4D+E,M4I<BV'8?JCYXDC/$W20.
MML,L_[[?L9,0%IAEM:K4EQD[/N?S=ZZV#];:?+(9D1.?B[RTAU'F7+4_&MDD
MHT+:H:ZHQ,I*FT(Z3,W-R%:&9.J5BGP4C\<[HT*J,CHZ\-\NS=&!KEVN2KHT
MPM9%(<W]">5Z?1A-HO;#E;K)''\8'1U4\H:NR?U171K,1AU*J@HJK=*E,+0Z
MC(XG^R<SEO<"?RI:V]Y8L"5+K3_QY#P]C,9,B')*'"-(_-W1*>4Y X'&;8,9
M=5NR8G_<HO_J;8<M2VGI5.<?5>JRPV@>B916LL[=E5Z_H\:>MXR7Z-SZ7[$.
MLM-Q))+:.ETTRF!0J#+\R\^-'WH*\Y<4XD8A]KS#1I[EF73RZ,#HM3 L#30>
M>%.]-LBIDH-R[0Q6%?3<T07B?EXFNB!Q249<9]+0P<@!F=='28-R$E#B%U F
ML7BO2Y=9L2A32A\#C$"IXQ6WO$[BC8AGE S%=#(0\3B>;,";=G9./=[T!;R%
M-*4J;^R#E>*OXZ5U!FGQ]P;\68<_\_BS[_3C1A2NP'U;R80.(Y28)7-'T='%
MXH,XOSC]_?U"7"ZNQ/6[XZN%^)"1.-5%)<M[X45+9SD]52)DF8I4Y;6C5%!K
M=@52UIN]%2TNKZ-MD2)=!*I:*&B">($:0;HEGX;BQ.- 3"@LR3RI<\EHRWL
MWZD4B,*!0 FC53!:.F?4LG9RF9-P.B!E.D_)6*%77KSE"QB>KGW% %;>D4$#
M$&5=+$$3TIZIU^L3$V@JUL$\WC^M34L#MBF=#L598W1#/"5'!B43B,OT'U33
M=S)GU_X'U'T8>$JK%;J5UY9Y'J*(IB4J[1!@)?,.U.\R8!ORVH/*M32I%37J
MSX0]WW"W2ED#'=S*T 2-D>4-%9PNPWX2_<RJ=V39*"##)0D/ _D&>\L2B0M0
M$7O;@E,IT6C.V ^"E31.):J2WL66$MCH%+6$CJ]/1;PS'HAGZG @EI3(VA*[
MX%ZPH0ZA:$. D)2Z? ,7K4B%*!GVOE_QZ4BE-]RIW#NQ8<O&"/B5MVB4"4GR
M,2.XP7N%(YI)BUG#E_-2.G%;RURMF+Q?C)ZU[7X0-:F10C8)[C5T6RL./Z^P
M14W^N+5^D^326E&0RQ#P-;-@#K7'7+8%%V+R1!S9+,N'8D9NZ&9'/I91G8%X
ME_'6UP!G%<DD$P'KRY3D9'[>-)R5B3:AS/L^3@E('.TM]FN2U$5H#-M?8K$K
M0HQ4R1F@;*BQ7D<:HEUVA-MRD(5&')EIKT!!H3'8C_LV-#DR:$55YQOL!-FE
M=MDKC>9PAX*!++@HPW50D;\U/"WXMLQ[9=T6<:CI 0YR;+ZAT3QCB,!=0N&J
M03GJP*<A<'L0.2&.&R!?LNQQ;VR)/I3^(Q<IVV0FQ&O;AJ;0J*.N(;V4UPVR
MP_W0UN:^00R+(;=7&@%:,RH'JSM=.&4:T*>GV-=)/^J$"!PZ4Z)R%7"7Y-:$
M>NL[#NC?&)J6P#TRV*)+X9XC<$LAW_C;FXK_19MC_'@\V=L76^><3KJV^(1$
MI<\)5<Z#/1S)?!1O>WVO[C5[A_!%72#I'%0N'BC_*";SP6PZYL%L$,]V,,#.
MLYVY^ U9LM^7?6V:B*W9&*U]:Q;S[^[.;'L3RG-.\JS8#@RF@_EDEP=[@]WQ
M#+XJ-4K=V_'Q%>54<RVB?81T8&?US[XF17V K?? WIC_QM,Y[[R[.^\Y$!R&
M,3MH/-R;^]EL^J@BGO7P:Y.BGZ7_)_N?;!)N%UQF71T_Q'Z?3V3_R"N3AD][
MDL9S\=,/\W@2_]+]?XL!K7^^:L)T,O_"A+/'KGT:Q.=N[J/>:PAAO?%O/FX7
M.%K"PZC[VCTKC\-KZD$\O$G?2W.C0"ZG%53'P]VW43C8VHG3E7];X:#!2\T/
M,SR-R;  UE<:UZ5FPAMTC^VC?P%02P,$%     @ 5X!O5)D><=*A"   +Q8
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
M?-30=0&"M7J38]Y3#O;6$B?7YD@F'LU?#E;Q9@RS;SK^BO%T=S[RZ,JTU7[
MES75 BUL;IMEQ[2GVXT?'KL<'#@\,X )QTF0IB,WS@B'FRE . AB7.CQ=#+L
M7/<[$UZ6)$$XGMB;>_K:B<>1'](<^RG-2^W8'<Q$@T&0#OQ@)NU8,DB#:#*F
M*<ED=,"2HW@8)*D;L0"$5]MBQS?/2GEV-!,-HV \C-Q4)-J,9B9QD"2)G<P<
MM"2"W]+8PCEIQS?-_( 6I,-@0C\QT/CJU7C3+RO)))@T2@XG?HK^5> BB.X)
M/<R^GV9/.S^%%P*I0C_X$Z[($_>K>/NT_9^",_=3^F:Y^X>$3\@T7!?!4'-L
M)9?W7+?4?#!J97]8GRIC5&'?+@5(HZ(%^'ZNT.3X#W1 ^Y\6'_X/4$L#!!0
M   ( %> ;U2-<9I3T@,  (,(   9    >&PO=V]R:W-H965T<R]S:&5E=#$W
M+GAM;*U644\;.1#^*Z.<5-U)-)L$>D6])%((H$-5 07H/9SNP?%.LCZ\]F)[
M$_+O[[-W$Y*VT)=[(6M[YIMOOIFQ&:ZM>_0%<Z#G4AL_ZA0A5)^RS,N"2^&[
MMF*#DX5UI0A8NF7F*\<B3TZES@:]WN]9*93IC(=I[]:-A[8.6AF^=>3KLA1N
M<\;:KD>=?F>[,5/+(L2-;#RLQ)+O.#Q4MPZK;(>2JY*-5]:0X\6H,^E_.CN)
M]LG@J^*UW_NFF,G<VL>XN,I'G5XDQ)IEB @"/RN>LM81"#2>6LS.+F1TW/_>
MHE^FW)'+7'B>6OV7RD,QZIQV*.>%J'68V?6?W.;S(>))JWWZ2^O&]OA#AV3M
M@RU;9S HE6E^Q7.KPY[#:>\5AT'K,$B\FT")Y;D(8CQT=DTN6@,M?J14DS?(
M*1.+<A<<3A7\PGAJC603G$@:V05-'><JT$SYQV$6$"':9;)%.VO0!J^@]0?T
MQ9I0>+HP.>>' !FH[?@-MOS.!F\BGK/LTG'_B :]0?\-O.-=OL<)[_@5O)B7
M)V%R>D#B+J!M@V)/?T_F'BK(\,\;04YV04Y2D)/_2=2?H-U<3R^N[V>3^ZN;
M:[JYI.GLXOSJGF97=Y_I4AEAI!*:E$$"->8E^"-:%TH65-F )0[U!E,W_Q>3
M0*%@FMJR$F9#P9+\EJILJ#I0/8JG7OE E5,(4B4@V 0N*^LPPR2%+Q!YQ3ZD
MR$E9H.6,B96L5F*NH>ZO<-=UKLR2%@UA?.T9_-:E^SU>E1827@IX;X1:JU"T
M=-]C]$.Q.:("0_C^J19:A<TV5*N-"G7,T1^$>O?+Z:#_\0_?CAHW(T[*[PG#
M.?R3;@4+'0HI'"Q,#@^WZ=*T]43NV(=2N-P4=-)6)M]0.%LO"UR(">/!J+A[
M%W!XR 6"/-7*(7$3ZZ(U+!S(6T<6GKA)6=8N)H:Z^;J"+N&%]W>B=VF"2T_C
MUH4(3+B_M[75UGM$B3O?ERH64/S<\8=EI$*LF.;,AE E;"E<3'FRW[7B-UA1
M[IS0>@7ZS#HEHP5R;R]M?J[8*0:/0ZGB<Q-GMVF2U!J1>/J(*JZ$3CV"PLV%
M><0]75F/J$)*6[],R!$)5 6/##9*L4$XR9$PYU%Y%!$1:O EK4H$.N10B%BI
ML,<Q*K?99H;0OL80;D,F@KGEQFG.6C'$ B<T&R!LU &%C0A>+8U:0 L3]N<Q
MRO1JJMT?W5O9WL. )EFFYR_V-@@U;\1N=_?"3IJ'Y<6\>9Z_"+>,>FM>P+77
M_8@'S35/7K,(MDK/S-P&=&3ZQ+Q R&B \X5%"[2+&&#W?\?X/U!+ P04
M" !7@&]4%]3Y'MX*  #0'@  &0   'AL+W=O<FMS:&5E=',O<VAE970Q."YX
M;6RU6=MRVS@2_164=FK+KF%LB9)UR22NLIUD-E69*6\REX>M?8!(2,2&)#0
M:$7[]7NZ 5*4+3O.3LV#98H$&GT]?5I\M37VLRN4\N)+5=;N]:#P?O/R_-QE
MA:JD.S,;5>/)RMA*>GRUZW.WL4KFO*DJS]/A<'I>25T/+E_QO5M[^<HTOM2U
MNK7"-54E[>Y:E6;[>C :M#<^ZG7AZ<;YY:N-7*M/RO^ZN;7X=MY)R76E:J=-
M+:Q:O1Y<C5Y>3V@]+_A-JZWK70NR9&G,9_KR/G\]&))"JE29)PD2_^[4C2I+
M$@0U_H@R!]V1M+%_W4I_Q[;#EJ5TZL:4O^O<%Z\'\X'(U4HVI?]HMO]0T9X+
MDI>9TO&GV(:UZ7@@LL9Y4\7-T*#2=?@OOT0_]#;,AX]L2..&E/4.![&6;Z27
MEZ^LV0I+JR&-+MA4W@WE=$U!^>0MGFKL\Y?O="WK3-=K\5%E2M_)9:G<JW,/
MT;3@/(MBKH.8]!$QHU3\9&I?./&VSE5^*. <.G6*I:UBU^F3$M^H[$R,1XE(
MA^GH"7GCSM QRQL_(J]GGOC7U=)YBX3X]Q.")YW@"0N>_%D//BF&BN^EV\A,
MO1Z@NIRR=VIP^>[]SU<_W[S_^4?Q\>W-V_>_75U_>/M)?"J,]2]^4;82MW*'
M"O'BMI2U$[\42MR8:B/KG=A8<Z=S&+O27U0N*HI.B=MQ@[16UFM%UTZ<#!R+
M]"2R7;$AD8-38>Z4%?3$"=I"AJZLJ80OK%+BY'V-*],X6>?NE(-%'\.HY$.)
MB5A;XYSX3HRP%)_)8C86'Y1S+X4L@1%PIA) &Y%9E6LO2JR&&2?34W&R6)P^
M(;@&AD'@Z(+%SF<3\<'4Z^"H?92N^I9?Y3@"Z("3=PD,.>J_=B<IM6EL5DA2
MR*R$A@1=!V1DB*ESZ.0UZ91)JX3;.:_@.&]$IJP'1HI"R=(7_#0>89UH4#06
MED);-FQ_YD&<U)>-MG07<NZDU7"[V"D) 0B&:=8%N7YZ)GY]EKA@+^J@=C)
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
M%P/,]OS^-'SQ9L/O+)?& P?YLD!S5I86X/G*8/B*7^B [B7VY?\ 4$L#!!0
M   ( %> ;U19P849GP0  '8+   9    >&PO=V]R:W-H965T<R]S:&5E=#$Y
M+GAM;,U6;6_;-A#^*P>O&%J C45*LJ0L"6 G61J@38/$6S\,^T!+M$54(EV2
MJIO^^ATIV4F6Q'O!/NR+>*1XS[WPX?&.-MI\MK40#KZUC;+'H]JY]>%X;,M:
MM-P>Z+50^&>I3<L=3LUJ;-=&\"HHM<V81=%DW'*I1B='8>W:G!SISC52B6L#
MMFM;;NYFHM&;XQ$=;1=NY*IV?F%\<K3F*W$KW"_K:X.S\0ZEDJU05FH%1BR/
M1U-Z.$O\_K#A5RDV]H$,/I*%UI_]Y+(Z'D7>(=&(TGD$CL-7<2J:Q@.A&U\&
MS-'.I%=\*&_1?PZQ8RP+;L6I;C[)RM7'HWP$E5CRKG$W>O-.#/&D'J_4C0U?
MV/1[TW@$96>=;@=E]*"5JA_YMR$/#Q3RZ 4%-BBPX'=O*'AYQAT_.3)Z \;O
M1C0OA%"#-CHGE3^46V?PKT0]=W*I'%<KN6@$3*T5S@)7%5QH76UDTQR-'=KP
M.\?E@#?K\=@+>)3!!ZU<;>%<5:)Z##!&YW8>LJV',[87\4R4!Q!3 BQB= ]>
MO(LX#GCQ"WC;V$*@3\,_D[9LM.V,@-^F"^L,\N;W/6:3G=DDF$W^LT3_!=[5
M?'IU<3E[?P[3V]OS^2U,K\[@XN/'LT^7[]_#Q\[ NC-EC8RM/$VEDDZ\;? *
M5"#O?>&#+Q;T$C#5HET(LTMW\!&%"#CFH[^X\CLBX/ZE;O!&V\-GM%Y?*G"U
M[BRJVS=P&FB,&VY$P_U=M+5<6Y@;7F&%,9\1X2M6AS7BSD59*]WHU1W,M>,-
M7!AM+93<F#NI5L!;W2E'8"%64BF_@FZOA9&Z@E>0)R3.(A0H)91Y@14DB\(*
M2PDMHH<'O@V]_-))@[993K"4 0W?C!3XC3,2XS MRZ[MT'<?>:N-D]]#'/ Z
MH22+\S?P&M&S#$<6H0L,A4E&6(XK5UA8_WZ^7T$6D3QF7B TB;WG",1R%(H4
M/8OA4R@TWI.OPF#=Q-+HBZ_/Q9W@)@!W5BR[!AJY%%  C2$'&CTQ%_V?#^KE
MG,<QF5"?XH2PPN><IB0M_$(:DS2B_RSGWF8:D2SU*9Z0G(6<)X1&?B&C9)(7
M,*_%P'<?B>,>U0A\!:U0B.SJAZ?PR%NT^&\OW^&?CP>?H6#*'S,(7UZ?*+'>
M^4F>^UF,V20YIA7EQ.>:329>3I$-I$C#^L3+,1+LK!,>'5_VI?. GM%T.-P=
M^9Y+1(@!VP-7!^^PY"ADI53][#$A?*"K;0%>W*'N"E]XY]5WH=D78AO.BPQ%
MB19/$C0M.R?@U->J\W<W<*VM>\L?K\U--S.R0@?[R&:\X:H4SY\!#=<N(U&1
M]A1->]+&),N3D.F()$D!]T_*MI;\^$/.*/MI-R*[)]GPW6^RV!H<S#'D=$J!
M(D<9G>Q71C+O57[JYZLGGK*,)$6V'?:;H\^F)Z4D2O)0N3*245^Q\ X@I[!]
M09.!8[!!1*5!MFLN3:" T_?,>,'<E@!(%I^I@^>>Y?&#7@A+V2IT?%B8//OZ
MMFBWNFLJIWTO=;^][T@_<(/%RT(CEJ@:'63I"$S?Y?43I]>ALUIHAW4SB#4V
MQL+X#?A_J;7;3KR!7:M]\@=02P,$%     @ 5X!O5$I6:A=="@  ^!H  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C N>&ULK5EK<Q,Y%OTK*B_L.E4]CA]Q
M'B2D*@%F8 L&*C ['[;V@]PMVR+=DI'4,?[W>^Z5W&[;><#L?H#8W=)]GGON
ME7RQM.[6SY4*XGM5&O^R,P]A\>+PT.=S54G?LPME\&9J724#OKK9H5\X)0O>
M5)6'PW[_^+"2VG0N+_C9)W=Y8>M0:J,^.>'KJI)N=:U*NWS9&736#V[T;![H
MP>'EQ4+.U&<5_EA\<OAVV$@I=*6,U]8(IZ8O.U>#%]='M)X7_$NKI6]]%N3)
MQ-I;^O*N>-GIDT&J5'D@"1)_[M0K598D"&9\2S([C4K:V/Z\EOXK^PY?)M*K
M5[;\4Q=A_K)SVA&%FLJZ##=V^58E?\8D+[>EY__%,JX=GG1$7OM@J[09%E3:
MQ+_R>XI#:\-I_X$-P[1AR'9'16SE:QGDY86S2^%H-:31!W:5=\,X;2@IGX/#
M6XU]X?*]-;-?OBA7B==J$BX. V32F\,\[;^.^X</[!\,Q0=KPMR+-Z90Q;:
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
M5SL-5E*4T JF-@,2R*3[8+%4CHSB$F2VI&IB#V2V(J.86JL IA"G$EBQ7 "
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
MT8V%6,PW@'L"_.FMJR=<X !9FX)-^1A=BS@S,G8;9M5AU,(XZ5T%ZEW ZU%
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
MN<$_":&= N0KI>SNQ1TP_S<Y^Q=02P,$%     @ 5X!O5/ Q->AF!   * D
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
MX41S,D6!4RVN;DDZ03R^[INO'T 3C#<?T(-!YGK[3OS\TYO%XO5OXMI)UAZ
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
MZ"9=Y^DJ7<9Y'5TMET63UVF^CMX56;I,314=VT\G/YS5M#0F.%OJ,L]EF?G
M,K-Y]&N1UYLJ>IDG)FE/<$8P.\#G%O#G\]$97YCE-+J83:+Y^7PV,M^%0\0%
MSW<Q,%_?CO_[:E'5)1'._XPL\, M\( 7>#"PP+LRS9?I+J-Y"=G715[1,DD,
MVNS#YS=/%GW8F&CIGI@D6J5Y3&_'6535](!XJI9A[VY>1S1/UB0FJFE4+#C@
M+S^4S?,R3=9F$KUY<QT='[D'1R>3Z.5MFM T]CO]$]^DOYGZ/W>FK*L)P57N
MIE%RMCB+HU](PKPW!,,K^J?>T*#.$PR63UF<)]&K(DMP&*]S.N?CHU>O7N,%
M?$. 7!=)"!?^Y&^S#*#?;=+E)HI+0Y^*+-N?%G<YH:%J%E6:I'&9&K?]*6,K
MW#<M%."DJ P>IO3=X%PML"VX[@G@>K\GIHH^F.4F+[)BS6/T1?[*[NQJ:TKP
MGTZ( >[%JU<?CDZFT15ML0H8-<UK4RZ+[2[.]R2>:,4E[0Z3$>'F5<RRKXHV
M\:V)%L;DD<E2$B.@B^D(45\ZHKX<I</KN-KP:OSAY9]->AMGH*\^DO[&J2+W
MS1(?3/ -<.4.BY0%R>-=4>&T^'6B0L93+0>N7Y*$)?HKRG1->,A(F-9-F=9*
M%/6F-";:BJPJRH@XK**'<<WTM"$9G^VC+"48$EX#FC"E1\1PMUAND1$D111'
MGW*BE"C>@K P,6!G:B.*BJO* $::D3F2IJIIAHKX26EWMRN+S^F6(2?Y_(E8
MA?;<$-$G#2] [)J2<MT494V/2N%\P"N@Y=B4&3OAA^Z$'XX?RR;.UX:P''VL
MS*K)HC>D11E5K_.:ON(=7_&&^L[\NTU.3YA/RP0D+F>(@]Y!6.\G++^NE0]*
M<POMS<],53,>DZB1)3*[!$:G?AD]%%@*A,E\74#ZD,)/*QQ;6NFL-"1ADDJ$
M+$1NUDT<S S"(X.(".Z6S)X=7K6\OX_N#(X=!V=*3)&/@4E_D/RF<R5"(NKZ
MAYSSKBF)D@W #_?]UZI7U)/0(%HC\"NR5":16:T,FT+1W^*\@>Y7)=K&X9*/
M)F$L6>"40\P!*D<W3-2Z,#5V2P87K+'.ADE9I$52@8R!<N& .F24NY2D7FE@
M9&++E2EOTZ41V2V/,= !M3)?A@E'=Q=7T<5T?AGM35Q6X,$.1OB-TB3-$J.+
M:"YO,I=FHC+_R>4?^.4[:UW(8]FDG)E@GRA1SH9'T)LD $D*$;88Y!:AF,]D
MO=,WBWTH4DA<_64V/2=S,LO8,B8YEIAPDMQ LY!:,?PEN& IKZ59@S,CT+#I
M"H='Q Q)1FO\Y7SZN#4K/3A_. 'I[83FLOV83'KD9-*C+U@_1!S$N4.VT_U'
MOQQF!LCC"A18$#]ASZ(VFE)T+E1'9M9QAC>WNRR%6!(U3KJ K<8H3DC5IC A
MO0?"FL;*>98%<*U,28>BFDQ64M9>QCL>^^__]G@^/W]V$V>JWD4KT!GP-[-G
M$%P KF7YM>T]HD*!A-;W!D%I(%2A@R EL)<B-Z*S=-%?3$X#,UXVW-*ML6LK
MG1&UD@TCIM1.L*SB"UL1,C>P_R.RWLUV0;2C%OPY3SX_GSWI@);1 9 .%YZ@
MO0%9JO_(/2I+0+H+#G2,O!X[\GH\2B!7UAQ\3U"2K<': >991CXL:Q]LZ9J8
ME8R)-P7)J%[5]]T7(<LW3@)KM0Q&MDP)UDEB>80B':>TK"O!9,:2F'FZB/*B
M)HS'2MHDFD7LN($T]2)+R<L$B:PM.;0@70JDF4 *1SD!2>I"8H02W13E?@I5
M+K0MUG5,K^>?RF97+_>DP3)(4YJQH'=(N)"YFA%D)$;9W&7EBS=X!ID]7M"@
MFIU8"!K8?.H[TP0.720X\X( )-%9$LT4"V"..-:/&=O1-B;[VGAN(22*M%8U
MD#'R@R-1(M5S$-S+.)V&[,5Q(_R)H]<GHZ3TLRA]PHFGI5Z*_(9I(O^T#)Z"
MWB JRI3/>24&S2D1SS;:Q?LMLR4Y(R*K*DBMTWJ_,R0R8Y83-X/O?W=*ONFN
MSFN0%*O)3LKV@0"4152<B,%M+1Y[P)!^VV8K,UG086+EH]2S(>$J[I=C)1&,
M$-FK7A0[%L+RPCI$^E ZI$;9PK 4KD$HLA9)MB+BQMYO"1M!H?N_RG# =$G2
M_E_%7-&U!<J>E%)N3MX[WJ#G5<T^50JT(.B9-!D_%Z+D/=2ZM%?-5L4W3$'Q
MFIQ&LMQW."TB:>AW& OQU@GJEA[KD^!W&\.'!$2PX45 =2SW.S($092$##D,
M(;$_"0@]C&%JZG%KHJ:F4_P'_J:OXC53P:K-YL14=^0<F]-BM:)=N3/V8IV1
M7Z:&K1_1RO(.;(/9HV>A3T)8(X"M<2@>,DF03S!H@4V:A[R")5$.L?G2$9TW
M'ST X(X)3)8[0[X!_6\^8RR-(.SEQ18$:5<CP GIB<'1D,SCHR8ALFI*)GC/
MMSALVGU5Q=!2UI)AB:04R\<-:-<L]@CC&(>X4WP;$]O@)+<&<@P,ZI$4Q%\^
M;V+:Q+CDGYW[\.WYJ-!^G8--"\2A>J.R]QX=?.S(8,(.88GW0[Q"<@+> 3D+
M1#N\7Y&3366/B[9:QFLCKV]-O2F2ECGA""/M+-E2*/BC@=.(>,]NR\%&&'^J
M49H=F=RD2,:0&,3 9U_P"& :$PMAZI=VO5Y\?LM$4>NQVT_$,06O>R0 Q $G
M$A#-MA&IEQA22'!!8-U&5XG2-,]%?%*2J!/)1C2^ZU^(W4UX?J5H/.<QTOLD
M986S8F(Y%B.$\L^U0021SLRZLY 0<,;EH.)=6N/\(6)_C:%J<W%_2K.+TU(]
ME#0OX//GYB[.Y(353V!?@X" _4XS?-QQAJ=.2]Z)5T5)6G'$CF-;*U5L'!*8
MM!2#NFIP3P80QZO3] 5D^*HLMEW!XD0RS\(Q) A=T/0:;CQ":Z3*<6;.35,7
M3=[L>%A3<G&"Y:TC#N=="#L). ;N%+)'IZ G99D(*DSX"3MV3!.$&:P729.J
M34YG:\,);(/T\5!#GCN"@^*KKM+/^$/V?7$>#%XT*4?@:2MO0"R;(NL0''#J
MD&P"B&UT2VVGP0U$ZAGZ((J851#4;0_$1O2L+TED47'4#IHB+;?JL,+6.,U8
M4=O0$:E5 [C8G.&0KD1/.'BV3$NB%Q)U'#6WD3T?V%N2&;5G!>GBN(X18+.(
MM6D-#DC#X7,GU@!6'-G<RU'O<<J%V,$.+A:@[T/Y64=\3"[.O5R<CXJSYR!1
MR",ZA@62!@"I5RR.SH/,\M.*Q(OY\6BG)M]1_^31[P:1*J+CA?UZZ;^V7"IA
M0E*F=V!<HFTBQ-B-F$;/>\8*N>H$-JA:1RNB'M%@F@KR\1Z>6:6/2I@!$::9
M !7E=+[KP8B).Z%GD!MU2=)7PI[]X:9X  ]E.!&,49H"]&$M6WF-J(Z,D:HI
M1<'XO3K7*M@B"%'MUH!#PC&KVDJDSC#ZBL-H($ -##X+)R$'Q3">ZOBS<H_8
ML;P7:WZI2I.P(]YL<@VB<G+&+Z][$J>1@\<*0#A8T?.,)UT71<)!9,*(LP/Y
M"#D4_1DVGY56P8[U21NIG.G9>SX.D>$DX.$D,)K&F-+GJ6<7HTSYB^ZEEP_O
M-S3Z)<!'&/\#H$E*N"S%GA=+>8+X_9TQNM\U>3MKG'H;+R2'E:OR%DYBM20.
M4<(Y8[*JV8H$?GPNA@FAFYI15B>+(80?,EB#WK2)1<-VE?63!*) 2<1Y+CX;
M/:9!!%9)RI&^@5FTLBJ@*"5#%(PK?6!@3(=4S9J>J\D5C(>V8!=E"A%7XQ4'
M2A=$7OOMLBX0()VQ$[B+R]HZ>#(NH&D_%/.RG[@B(ZQFO!%ABX,HXF=%?A5V
MUW*(2):RO94R[A@M6?H)>0+.3P'#3B6VCS%6M<8)D%S&VY1ISKFCC@J=1J]7
M )!HQ^;8@:A__<(3717V+HTFG!#M*5+Z4"FX$YM)S"S.LL-4ZJ?F#CPN07D
MA]B/;%GJNHR4 7NC9VK(*Y-4/+N' _9<N 'Q4BV'KW-F#VL_Z?R+O4^W'2QN
ME\%W=5%#G3FH',8@O34;6LA9M8%U6_LBPL)='> ,[[LU^\>K* AB.Q(-$I1
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
M\J_X<P@UNI88N-K-X#ZCYZ.6G<;:R5](T%O86MG0\B E*^O%!ZY61V#"DEW
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
MMNWW+++QL'W*P3!U>%T[=;Q9<@#@H.Y($:D:3OW?=LQ"7'@B>:9 J<KX/<@
MN^::(H#HU4QDRW)9-B8)Q463!ZOS_N5&==4;]/Z*-D@MM^* !N7",@K!MO$G
M(^HX>-5UE@D[QMA;N[T$C.7N2<0?N"@Q<'EL+$SD8FLM^N,3QZ7U>4E&:YEW
M+G<KIGI_QD/2J,/M,[3T*I8OTDTA&55^EU]:I2OB#RUO//&A"@?AG0U+5TT%
ME%ESRGR.M[8?T6(OM!G>V;N*.B?O9I0X3'[@465\G[ .KGS;Z_<VH;:&N6C;
MYK<@MQOG01*>4$4BEX),76=:+\N1+4@7(1 77A6![]6!BSSI%5ZKO[R5%,8"
M(*I:?SK=HL5^0=,B-L"88X=H84=<Z3J]*(\>A_59>\=D_;QXTJ$A9B#$/HG"
M)$EFR8K'IUN["CT-+N'(!EC3C2LAWZMX-MYE^*/T0WAI?U*@5Q%]W11\HIQ(
M]^&<7F:1#A90P- )S-<?IS?3Z)>KJW<=.O %UB)!_$\@R!6PJMG:&PK,U2*P
M)<"O?=YLQ'50UNN]IR"ZIA?.M9G7@*A7;K%$-"0:7#<*#U%I[^Q8*YL=XZ"$
MIQL"YR")EHE+DT,QB$3KV: D[J8[_(Q1R=RW-9V/-R8]N(?01R9?.T?TUO7)
MJ\PZR$EK'RIADZ!N5=K]<9B?ZY50:=O4RA_NGHWC*G\*H977ZD:E'1R6F]2L
M@K9]B5F*<@*ME?[7 ?P5/XTB7K]]\2N+%COBE$9P*R'R_W8L.[A+1S=4*@[!
MIW"M=BRW(@-4.MD6]@YC&/>#5RT<9L)V@XK&UG[;=UREQ-D)E8"M"&VNE5C5
MB?<&FE_*_1ER][L+AXBK) G(:JUU2Z6RUGG_]991:O7]8^?C;5]_,W>A36 O
MV%7155+LM.6CR_T/OOQ?IE;/48?UTOQW@N2#M/XP'*(G!_XNM%4K-RS,&2,S
MW9E%:N=\35;L _SJ,_458O3_2,W]\<)WGVVK]RPEH:9"F+7B4L(7*8EH(_W@
M\.*>)O&_?-.W5^EV)RM,OM.FQJC+=^&<CW?A_(U 5Q/S'>XFX-=6>DEC?)J0
MG5W%^;U^V>7XZ"7?DZ*-QIKK9S&YA6&%L/DT>L[ST&M<WAEG2^W!NT .ZS9-
MK(()?UBFKLN4CL<&"'@F-)DU9=7) %FQ><>_L0@QK2VF\X9+8+@K1>P4J >,
MCJGF V99X?6<3?"^T$TKX.TK*W'R1U/5_R3D5@=_9]!=K9'0M*BJ+)-3!(7O
M"EPHD42A3,JKM(K\)4VB/QHPF,MI_9# AY:8;G+RG\6PJ @E2W'A +S.?>S$
M[Y.3P\[[)(&7Z<YJDJ7]%3;?ZF7^D)RMEY8@'?%':$BYC%&(4J-A/F>;Z2CL
M$=0%ITL(12N3RBEQ]DVZ'J;\6X6\<8XDVP1-%6$S?-M+?I0'@SDN!E]%O$^K
M"F,+KR:RN<.B-%7!ET>]>]M/CI0T$OE5.HD!.:NSU2NLOBM.^4<#7)^PC=X_
M:&J]'28,I_Y,]_544DL6=T&Y!)0C<:< [BB^8AYP$5:9JTN2[&'T;JV=\O,X
M3O#+!SAM[D3CFW.?=.<"*N2,2+=P.R[AL4 B<3U&-^WO?<6 06$ON3X[16L/
M2B,3%P:IVBT,.9-TOTVGG:9U:1G>7#I@>,OF 5N[;M;,TUJ[/")H>C82H6A-
M?]2+8]R8-YB">V*.3#FTL[9LM(!ZUF^AJ+^K.1MC3B -T;7.7)?L'^]U1NU5
M,J8_?</<^7C7VY^1D/T[<A*]6G-\,,308R2T_"S1K]Z5%U<J*)"8='XLB6N:
MD/@10Y9'\M$'?97%&4/I9I\5T7(0Q0$)!@=A!=C _@LM=M&V4MY.D[" _)B)
M[8+D>IJCS@V%N&%99!R$48\Y76V+\TY<$%%^C1:6.6QPQ")0!H_;LN@WIC]@
MZ7J/VJ7\O-(QC;O!('@5E+#9F*K.X<A5*P69SCJ1%:NE BDKX9ZD,+;IGO8,
M)W$.TW< GQ.V'LG3X.)C^<$)E2V:?@WLR%U9Y$6C[6DJ&S.2=:1\<)N.G-P
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
M%+KWQGL4UBMT9AM6X"(B"5HT3QB]7N'_^- Q"X66C>$62T_%U0B5%J1$KC;
M' V@0+E&,TPXC(6,9 8G-XH2=&MIRX[Z4W\"[Q6D.M99^ !I-CZ_R,G(QWDV
MA:]H[8RT5[2R%<P1#2:U<?PO"Z(\2<?)Y&)$:SH='0'N^R'T='P^F03T+$W@
MO9N*]\0@T6R"Y/T<6N5Z70R[PZMRV8OI-;Q_DFZ9V7!E06!%J<GIQ[,(3"_S
MWG&Z"=)::T="#69-+R,:'T#GE=9NY_@"PUN[_ =02P,$%     @ 5X!O5!HR
M\,76 @  _P4  !D   !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL?53;;MLP
M#/T5PBN&%LAJ6[FY71(@:3>LP(H6S2X/PQX4FTZ$RI(GR4W[]Z-D)\N IB\2
M)?(<7B1RLM7FT6X0'3Q74MEIM'&NOHQCFV^PXO9<UZA(4VI3<4='LXYM;9 7
M 53)F"7)**ZX4-%L$N[NS6RB&R>%PGL#MJDJ;EX6*/5V&J71[N)!K#?.7\2S
M2<W7N$3WO;XW=(KW+(6H4%FA%1@LI]$\O5P,O'TP^"%P:P]D\)FLM'[TAYMB
M&B4^()28.\_ :7O"*Y32$U$8?SK.:._2 P_E'?OGD#OELN(6K[3\*0JWF499
M! 66O)'N06^_8)?/T//E6MJPPK:U[9-QWEBGJPY,$51"M3M_[NIP ,B2(P#6
M 5B(NW44HKSFCL\F1F_!>&MB\T)(-: I.*'\HRR=(:T@G)O=N0T:F.>Y:;"
MKX*OA!1.H(73;WPET9Y-8D=^O'6<=YR+EI,=X4P9W&KE-A8^J0*+_PEB"G ?
M)=M%N6!O,EYC?@[]M <L8>D;?/U]UOW US_"=\]?0G+ 5=$FSZ6%7_.5=8;^
MR>\W7 SV+@;!Q>"(BR6U3]%(!%W"T2*_5MLW:7V/7MJ:YSB-J DMFB>,ND?D
M';\\>,0M&H1<5[41EE04"YE"J24UHU!KX ZHMEBM"+^K;R@*"<DEG-XH NC&
MTI4]:[5> TLNN1%= 5>HL!3.P@EDO4'&:!_WLO$(EOB$AJL<@?5'P(9PI:M*
M6-_0%M)>.LQH309$A[+\()1M6NLN,6\S2"YH'1/9%7TI"AF5HX1H*!1$'1J;
M]89) N_?92QE'[M:$R0;P7"8PET=["A7B=2]A]7I48,9XPEK;0)5VAM>,+^F
M&1POZ@FDXUXZZGN!!4>O_9?XH"DK-.LP>BS%WBC7]N?^=C_=YFU3_S-O1^,M
M-VNJ#F50$C0Y'P\C,.VX:0].UZ'%5]K1P CBAB8T&F] ^E)KMSMX!_N9/_L+
M4$L#!!0    ( %> ;U0VLQETG@,  -0(   9    >&PO=V]R:W-H965T<R]S
M:&5E=#,U+GAM;,U6VV[C-A#]E8&Z:!/ L"Y68MFU#>16-$ W,-:[W8>B#[0T
MMHA0I$I2<?+W'5*V5DG6;OO6%XFD.&?.G!ER--LI_6A*1 O/E9!F'I36UM,P
M-'F)%3-#5:.D+QNE*V9IJK>AJ36RPAM5(DRBZ#*L&)?!8N;7EGHQ4XT57.)2
M@VFJBNF7:Q1J-P_BX+#PB6]+ZQ;"Q:QF6URA_5(O-<W"#J7@%4K#E02-FWEP
M%4^O4[??;_B=X\[TQN B62OUZ";WQ3R('"$4F%N'P.CUA#<HA ,B&G_M,8/.
MI3/LCP_HO_C8*98U,WBCQ%=>V'(>9 $4N&&-L)_4[E?<QW/A\'(EC'_"KMU[
M$060-\:J:F],#"HNVS=[WNO0,\B.&21[@\3S;AUYEK?,LL5,JQUHMYO0W,"'
MZJV)')<N*2NKZ2LG.[MXH+S?RUQ5"$O4L"J91CC[S-8"S?DLM.3";0SS/=QU
M"Y<<@8L3^*BD+0W<R0*+UP A<>L()@>"U\E)Q%O,AS"*!Y!$27P";]0%//)X
MHR-X=TQ++K>F%^X?5VMC-=7'GR?PTPX_]?CI$?P5'9NB$0AJ ^]]#>":&9X#
MDP7<<M'8MQJUDIQTX<[IU-0LQWE !]&@?L)@\;E$V"A!AXP\ C? (&<B;P3S
MU4]L+.U8=]Z+UCO<+5=DI_W7&U753+[\9( *HB(K*K_\<0!<YJ(I'"ZC@Y@K
MF7/!6]PUVAVB!$EUQ-LZ<NC]J;6:KQOK2@JL>@5=*E&@-AV!%V0T0U<Z0(G'
M:DW"'9+OG]' XR=1/)G"V;TD,]486C(#P.<<:^O!:K(S/KD%G8IS;^_-O>4^
M"2[TAZ9"S2R9/'RC_ 'B;)".(C=(!TEZ20/RG%YF\!L:,^WO?1M>S;3E.:])
M'M++8-YH;CD:.$NCR3D]$_<<7Z;GIU"^)Y)GY>*@P6B0Q6,WF S&44I:2467
M@X_CJ[^(2$#V1)%ML=7! -W(QI)0CE9CZ#N7^W)P8AT<>LUH4A,7EV#C%9A$
M[A6-,N=Y/,YZ A*'8>($BH:3S,_2T:&TCRO\;XNB7Z7_I_C?.<'-AOJ,.V:>
M,G6:7NZG[@+P#53F>S[ =DP7!I(,?OPA2^+DY^[]7P(XZ/./(8SB[$T(MZ^E
M?9_$[UV&8:_34%JWOI^ZZZ*1MFTZW6K7LJ_:3O5M>]OO/S*]Y41.X(9,H^'X
M(@#=]M!V8E7M^]9:6>J"?EC2;P=JMX&^;Y2RAXEST/W(+/X&4$L#!!0    (
M %> ;U0H7"FX604  #,-   9    >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM
M;*U7VV[C-A#]E8&;%C:@Q")U=9H$2+)=-,#N-DBRVX>B#[0TMMF51)>DXN3O
M.Z1LV6D<MUWT1:)(SIF9,Q=29RNEOYH%HH6GNFK,^6!A[?)T/#;% FMA3M02
M&UJ9*5T+2Y]Z/C9+C:+T0G4UYF&8CFLAF\'%F9^[U1=GJK65;/!6@VGK6NCG
M*ZS4ZGS !IN).SE?6#<QOCA;BCG>H_V\O-7T->Y12EEC8Z1J0./L?'#)3J]2
MM]]O^")Q97;&X#R9*O75?=R4YX/0&805%M8A"'H]XC56E0,B,_Y<8PYZE4YP
M=[Q!?^]])U^FPN"UJGZ5I5V<#_(!E#@3;67OU.IG7/N3.+Q"5<8_8=7M3?@
MBM985:^%R8):-MU;/*UYV!'(PS<$^%J >[L[1=[*=\**BS.M5J#=;D)S ^^J
MER;C9.."<F\UK4J2LQ<W3:%JA ?QA :&#V):H1F=C2U!NPWC8@USU<'P-V 8
MAX^JL0L#/S4EEB\!QF13;QC?&';%#R*^P^($(A8 #SD[@!?UCD8>+_I'1^&=
M-$6E3*L1?KN<&JLI-7X_H"+N5<1>1?RFR3/4&DNOY-(8M 9$4\('*::RDE:B
MV<?LOP2U!"JVH-46%%9(KI![2RT-[50SL N$F:JHY&0S!V&!Z,1ZBKJGU(/0
M(#R%X4U# JHU-&5&W:I;@3VZ3^&R*%3;D!6:(.6CRQB/-9.-: JG;KM@X A2
MGM SRR(GJ5M">Q2%\"699CFD$P;W5A5?CUUQE=X-JOEN PLF80(\2-)\:XS&
M1VQ:A$F> \^WL(;F-9F $,<0]].[1+$$?O@NYXS_"+[].*I:@YUOI"V+PW[#
M->F2Y"8/XHQ#%/ LAD^TB_JA)NO(3\HA0PM)&D(<1"';QQ<P'H0\ \:"?!+#
M!S1$X1=1M9V#PH7(VYQR#FF4PH.RHG)]Y172D0.)PZ0;\"1_J6_'SU.X::QH
MYM+'II?.@S#D;C )TC#:2Y +I*+DT>112J1/DA3>RR?:M8;)LP18F&4O^=M
M/#MTS^)1S^,>AW8U'@%/ IX[KS@+M@PT1/5>(:=CR*(@S\.1'X9!E.6C _6;
M]/6;'"RU:TH]U:#+;?)KIV'<:O4HW3&TKWP/8KHS]=0L18'G SHT#>I''%S<
MRWDC9[(0C?7YOE7JZE9VBIW/RXUB*F;M%Y]1: /HFNSKF@ZZLNTJFTVZOB#,
MNA.8 Y7NMU^W1#:9U&L]A?=84K97KH CYD)$I74$.67\O166*HU%%/ DFM S
M2K)M1N[!B(*(,'B0I2GE%5LCL(Q1#-D("+.+_%[_CUQ"QJE_)U%.;ZI(GL.!
ML*=]V-.#8;_#0E'CHOSR)6E5;[&SL+5*/^\FPQU9O2\/#BK9GP</%-!2SH@R
M="U@BG:%V.P0X"K2^KA_/KD_@=G:+M/;M<.5=FQ2"G'V_3=E2^!'E!U4SQJ7
M2EL2DHW'(8*,JF0IW)S3CO4F8]?MD#9\6XZ*_Y2B-W^CY@U:/!<N57*?,E$P
MB1/_/<G2;34?6W6LT;::^G#Y!]VU.J<8RR!.$ABFZ6B=I%N: ]^8R.^-4D<]
M4@@+"TDX@4E(39..-9<IQ?H$&3)W>(Q@.$ER>O* 30CYFNY+=(J@[P%TR2W7
M//:-<_,F\3 )1V^?DD,'SLEB1E5UO:#&[RRF8_;U*3-DS@Z6)B,JO @^$0D4
MI9:NQNZH>(%Z#"SEPWH$"0M?V?2+/R,X%3*=P2G_ORIWO'.1K5'/_77=@+]P
M='?:?K;_([CL+L+;[=WOQ$>AYY*2LL(9B88G&?5IW5W1NP^KEOY:/%66+ME^
MN*"_&M1N ZW/E+*;#Z>@_T^Z^ M02P,$%     @ 5X!O5*\:<+%X!0  HQ
M !D   !X;"]W;W)K<VAE971S+W-H965T,S<N>&ULS5C;;MLX$/V5@=$'&U!L
MD;H'B8&DE]TLVEVCZ>5AL0^T3=M")=$EJ3CY^YTA;<7;Q$X38(&^F!+%.7-F
MR#DD?;91^IM926GAMJX:<]Y;6;L^'8W,;"5K889J+1O\LE"Z%A9?]7)DUEJ*
MN3.JJQ$/PW14B[+IC<]<WT2/SU1KJ[*1$PVFK6NA[RYEI3;G/=;;=7PLERM+
M':/QV5HLY;6TG]<3C6^C#F5>UK(QI6I R\5Y[X*=7K*0#-R(+Z7<F+UGH%"F
M2GVCEZOY>2\D1K*2,TL0 IL;^5I6%2$AC^];T%[GDPSWGW?H[USP&,Q4&/E:
M55_+N5V=]_(>S.5"M)7]J#:_RVU ">'-5&7<+VS\V*SHP:PU5M5;8V10EXUO
MQ>TV$7L&>7C @&\-N./M'3F6;X05XS.M-J!I-*+1@PO562.YLJ%9N;8:OY9H
M9\?75LV^G5QB7'-XK6J<;"-\NIHYO/W>EO8.^I_$M))F<#:RZ)'L1K,M^J5'
MYP?0&8</JK$K V^;N9S_%V"$5#N^?,?WDA]%?"-G0XA8 #SD[ A>U,4?.;SH
M4/PKH>7)]&'\%UJ+9BEQ 5J8WL'^N(FX<]T7&Z'G\/=[A(0K*VOSSQ%"<4<H
M=H3B0X1\>8!:P,&Y>7M+S_*Q^3@*3B5^:M9B)L][6,-&ZAO9&W]:25BH"NNS
M;)9@::YQ75M15@:LLJ("XXCXX&?[1*0G@N8:+,+<2:$-2)IKP)F2]53J;K;<
M;^@6%@]9$4#9S*J6AI:-LYZIQJBJG N+?<9B0VDVE I4(>U<FE/H7]%PU1I$
M,@,'[9$)%1-EO(D1N&;A%11%B+\LB+,86QZ$<0A_>3@,=QN!@3B(TPR2((D8
M9$&6<YC@A%MQ^W3T21 G&1J%80)%D',.[Z5!HAB?JB40AEPL4(:@SP(6IP-J
MXXQABW32: !_HOSVQ<)BMG#TX&F7KY!OQ!BVQ)@"0\Y) 4<68-(MP.3H OPH
MC=7ES,\!TC@"F7:0Z:]19%E'*/O9(KN@;8%4[C.N6@U[T;OR@TDE&O-8I1WU
M\'BE7>PV/W*L?\BSWZ"<WOK"H.5I*"/FT>&E,2V^K%MM6H&)LLH5D9'65CZC
M:(7KW.W<S4QZ+!"43RR;UH5+%BY"F+?:E?\SJQAI@#!;_< U?^T)?W6[H9R?
M7-Q@I2TE_(83;4]PBY+P3I0:OHBJE9CS&PRK"PE/#5CVC8M<6/A#-"TER_E$
M5W&6!"SBN-@C/@Q#CXG&+(J"(DHA"H=Y 9,#(9.\(!DRP%0]2">+\B!)4^#%
M, _ABZ?5YQAPEB4#B*)AG#_!]X=<(>.$)T&.9?F*N"5LCW&*L"A;Z9"E+V9<
M!&F6$S)+[@FG.4I*-G#)" %/+@M9NB\LX%D\V+I\5B XW3'C08'ZB *:#_/L
M/I D"C*<BH@-4?8Z$C%)(F8-DXG.]DBD0<0+WQ\^DP3#ASC(\XA(%,/LJ-CE
MG1#D1X7@0>K-$="B RU^#;ECX?TI+_S?!>^XBY]0O -B="]\/VK2"X\5^XH4
M@,^O\D<,*_02]]JMWUJU=+Y R217=K4[B!PDNM32GTF>*W0'2_P)R6-YC$*1
M>@'!,N_JCH6X_X?46R1[!88):QO,5H//<1PPU$.JE>RE&M/?RN)@JXL_&\=#
M*<1K(BK%5@JSO4C"+.!%3KI4I <BZ4>H)YD7-4S"BV-Q@ODDRI-BR!..JLZ]
M#O%[,2RB((YCIX4'(^$X;UGDTEET@DEK=[N=]W&/*^AH2!O&B_--)^*X"(H=
MR0,GP]'>O;&66!ET.Z8T8EGX*V37V]W +_R]\WZXO[Y_P,(JL60KN4!3FN$>
M:'\C]B]6K=TM=*HLWFG=XTH*K'<:@-\72MG="SGH_I<8_PM02P,$%     @
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
M %6:P:U6KK'PKZJP^IT@)EVCN&PG;IT=97R'Y1E,TPED298>X9N.SDX#W_0
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
M+G:Q^^2R.U$\*[XI/'"E41>'&X)C(HR OK_B7+V<F,\4U8>OZ3]02P,$%
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
M[Z<-RW'-,CC"LAN0!PQ2:O)%9)"]!_!1<JL[V.@>!R<1IY!>D;#[B02=H'N
MT.3C[IT3=,*V#*'#"X_@U9DE=Z<2^_,6;ZFMR*/DG& 3KZG*?IT('K7!(Q<\
M.A)\# 43PB(O**<BA4,%JB%Z#L*.AI=1K]\/!O[+=M+VC:(H[+=&[]CU6G:]
MD^RL=DV,)'*!?8477V0D7_&<81+2)D&:I&]I.\2^#A%O$4N"7KS#?M\H[B?1
M8?9QRSX^R?X>-)+[D 0%J<0;: M/-8%7'-3Z8"GB/9Z7O7ZXJ^:0561[_9"<
MI)63G)2#U^\_?9+LM4 2=G?[9-_H73/5U/RMJ5:!*MRPM\G$P51?]/:T?4]N
MW!C=.1_C.U,_"V\P]2/U0!6VOB8<<H3L7"5(2=6#O]X8N72S<R$-3F*W+/$6
M@K(&^#V7TFPV-D#[^H[^ 5!+ P04    " !7@&]4/4I_T%,#  !7#   &0
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
MOH>ZH9'-%PNNRE^TK; C XX+I45:!QL&*<NJ*[VMA>@$X."! %('D,<&^'5
MJ9Q;,2O;NJ":SJ=2;)&T:)/-#DIMRFC3#<OL:[S2TCQE)D[/E]*L"*GO$,U6
MZ.WO@N7F'6GT\@(T95R]0J_1UZL+]/+%*_0"L0Q]V8A"&:R:NMJ4MTG<N"YU
M7I4B#Y2Z@/@4^?@$$8_@GO#%X\.]W7#7--UT3IK.29G/_TOG)VC)J6EY5X ?
MEP:./FA(U<^!8GY3S"^+!8^1&>ZKG*"U%*I7RBK=J$QG/\6;.?&",)JZ-UW%
M^E!^&#2H':Y!PS48Y'H)2IV9[RLNTH)3#2OS61B+B!FU'UX?V2I?V*'Q.HK&
M^V1[4&-"1OUD1PW9T7\)FX'N8SHZX(#Q:.+M,>U!^=B?]#,-&Z;AL*R&X<!*
M&C=IQD^_;*.F6'3<91L=*$>B8'\A_ 6TPW32,)T,,CTO&%^Q;*U*JBS-I;@!
M2U8-R("]UB6]IU<==TP9'U?W.E]7TXB$DSWA>U$!Z5<>MT:*R2#;A4CS0H-L
MF0Z)T%HF]I]!\];U\+#M_;OFAX8VC@XLN@^%@P<L&K>VAX=][Q+,WF4C^./7
M>NM3.'P&W5L_P^,CZS[NT=W?E_T0A$D'M4NV]4,\;(B?DH3%@))"9DP7$DK2
M";NUXT'U6Q_#DZ=7G[3&1KSCJE_GZPH;1F1/_1Y01![X_R2M*Y)A5WQ3F-VP
MN&9\4&K2V0 ^PPZ0M'Y&CKP')(?;.[QO+\.8BJG;.1[8L]E'*M<L4XA#8H*\
MT[&)EM5QIYIHD9<GAFNAC>+E<&..B" MP#Q/A-#W$WL(:0Z=\S]02P,$%
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
MB?4S$5L&?LWI!E1ZHQBB4-1#8+U0?&?&HC57,&29QPP&9RHT -YO.%>'A?Y
M.XK/_P=02P,$%     @ 5X!O5#Z8$)F_ P  (0T  !D   !X;"]W;W)K<VAE
M971S+W-H965T-3<N>&ULM5=1;],Z%/XK5L250+HTL9MV*VHKL15T)P%WH@P>
MKGCP$J<)<^QB.^OV[SEVTC3=$C,NXJ6-G?-]YYSOU#ZG\YU4-SIGS*"[D@N]
M"')CMJ_"4"<Y*ZD>R2T3\":3JJ0&EFH3ZJUB-'6@DH<DBJ9A20L1+.=N[U(M
MY[(RO!#L4B%=E255]V>,R]TBP,%^XV.QR8W=")?S+=VP-3-7VTL%J[!E28N2
M"5U(@13+%L%K_&J%)Q;@+#X7;*<[S\BF<BWEC5U<I(L@LA$QSA)C*2A\W;)S
MQKEE@CB^-Z1!Z],"N\][]K<N>4CFFFIV+OF7(C7Y(C@-4,HR6G'S4>[^84U"
M+L!$<NT^T:ZQC0*45-K(L@%#!&4AZF]ZUPC1 >#I ( T /(0$ \ Q@U@_%1
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
MG ;TQIG?./-'G7T&(6ZPNM$-$&41D@1OLR$C%5'0VO[*MKV@XV0(Y85VQ\H
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
M3&B ^GW/N7R^T0,TG[+6/P!02P,$%     @ 5X!O5"?XL/BB @  70D  !D
M  !X;"]W;W)K<VAE971S+W-H965T-C0N>&ULQ5;;3N,P$/V549YV)2"7EA90
M6ZF%18L$",%>'E;[X";3Q"*VL[9+0>+C=^R$M"O1=*4^\!)?YYPSQY''HY72
MCZ9 M/ L2FG&06%M=1:&)BU0,'.D*I2TLE!:,$M#G8>FTL@R'R3*,(FB02@8
ME\%DY.?N]&2DEK;D$N\TF*403+_,L%2K<1 ';Q/W/"^LFP@GHXKE^(#V>W6G
M:12V*!D7* U7$C0NQL$T/IO%?1?@=_S@N#(;?7"IS)5Z=(.K;!Q$3A&6F%H'
MP:AYPG,L2X=$.OXTH$'+Z0(W^V_HESYY2F;.#)ZK\B?/;#$.3@+(<,&6I;U7
MJZ_8)'3L\%)5&O^%5;UW0(SITE@EFF :"R[KECTW1FP$Q(,M 4D3D'C=-9%7
M><$LFXRT6H%VNPG-=7RJ/IK$<>E.Y<%J6N449R>77#*9<IG#/:;(G]B\1 .'
M<,NT9LXP^'2!EO'2?!Z%E@A=6)@VX+,:/-D"'B=PHZ0M#'R1&6;_ H2DM)6;
MO,F=)9V(%Y@>02\^@"1*X@Z\7IM^S^/UM^!=*YD??D,M8&W$E#*7.=*O9^$5
M;KCD8BDZN/HM5]]S];9P3=-4+:4U!W"K+%)SK9@TP&0&[YT"_+HF +BR*,SO
M#OKCEOZX,]4-9$L)OW>:W0 )O"#3ID/*H)4RV-=U]KS#]6'+-?P(UT]:^I-]
M7>\&&.YT_;25<MJ)]% H;0^="JC8BS>Z*LF+ \BU,N:__O4X6M\KT4?X'F]<
M;/&^SN] Z('PMU>7G&0M)]G7_9W_?+R^UN+>A[B_ONOB_M[N=R-0\=AN?[A1
M\03JW-=U S[INOBUL^W;85I7S/7V^N%QPW3.R9L2%Q0:'0WI%M1U+:\'5E6^
M?LZ5I6KLNP6]?U"[#;2^4&1Q,W $[8MJ\A=02P,$%     @ 5X!O5%&\6<N5
M @  @P<  !D   !X;"]W;W)K<VAE971S+W-H965T-C4N>&ULQ55=3]LP%/TK
M5L0#2$"^^A%0&PE:H2&QJ:*P/4Q[<-/;QL*Q,]MMX=_OV@E1!FF%)J2]U!^Y
MY]QSC]WKT4ZJ)YT#&/)<<*''7FY,>>G[.LNAH/I<EB#PRTJJ@AI<JK6O2P5T
MZ4 %]Z,@&/@%9<)+1VYOIM*1W!C.!,P4T9NBH.KE&KC<C;W0>]VX9^O<V T_
M'95T#7,PC^5,X<IO6):L *&9%$3!:NQ=A9>3Q,:[@.\,=KHU)[:2A91/=G&[
M''N!%00<,F,9* Y;F #GE@AE_*XYO2:E!;;GK^PWKG:L94$U3"3_P98F'WN)
M1Y:PHAMN[N7N"]3U]"U?)KEVOV17QP8>R3;:R*(&HX*"B6JDS[4/+4#8VP.(
M:D#T44!< V)7:*7,E36EAJ8C)7=$V6ADLQ/GC4-C-4S84YP;A5\9XDQZPP05
M&1-K<@\9L"U=<-#DC,QSJ<S9 ZB"S.@+'ILA,TZ%)L=3,)1Q?8)!C_,I.3XZ
M(4>$"?*0RXVF8JE'OD%AEM[/:A'7E8AHCX@I9.<D#D])%$1A!WSR<7CP-]Q'
M.QI/HL:3R/'%>_BNLDQNA-&GY)LT@,.=M)5C;:3++O+S#@G(K8%"_SJ0/F[2
MQRY];T_ZRGICK2]KZTMK_2D18+K,K>CZCL[^:[?IH)<D(W_;MO!]4!@DUNUM
MA]1>([7WCU+72FI]P(Q^DZ'_/\YBT*0??%Z!U6E4A(.VT2V;J\/HB+D8QMUG
M,6RD#@]*O0.M+PGEV)?1%B#8X0E'C="I<OA.P=G@C<B.D(N+;HU)HS'YW*N=
MO+^U8?^-SHZ89-A[(]1OM4C[/'VE:LWP(G%8(2PX'R)>52V_6AA9NJZYD 9[
ML)OF^$J"L@'X?27Q/M8+VXB;=S?] U!+ P04    " !7@&]4+YQP9/("  "
M"0  &0   'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6R]5EUOFS 4_2L6ZD,K
M-04,@5 ED=J@:I4Z*>K']C#MP8$;8M78F>TD[;^?32C-!^DR[>,%;#CGW'/O
MM3']E9#/:@:@T4O)N!HX,ZWGEZZKLAF41%V(.7#S9BID2;29RL)5<PDDKT@E
M<['G16Y)*'>&_>K96 [[8J$9Y3"62"W*DLC7:V!B-7!\Y^W!/2UFVCYPA_TY
M*> !]--\+,W,;51R6@)75' D83IPKOS+U/<LH4)\H;!2&V-D4YD(\6PGM_G
M\:PC8)!I*T',;0DC8,PJ&1\_:E&GB6F)F^,W]9LJ>9/,A"@8"?:5YGHV<'H.
MRF%*%DS?B]4GJ!/J6KU,,%5=T:K&>@[*%DJ+LB8;!R7EZSMYJ0NQ0?## P1<
M$_"QA* F!,<2PIH05I59IU+5(26:#/M2K)"T:*-F!U4Q*[9)GW+;]P<MS5MJ
M>'IX0SGA&>4%NH<,Z)),&"C402-1S@4'KA424W0'IK1;B-,4-*%,G1GLTT.*
M3D_.T FB'#W.Q$(1GJN^JXT_&\7-:B_7:R_X@)<4L@L4^.<(>]AOH8^.IWLM
M]/1HNI]LTUU3U*:RN*DLKO2"WZCL.1H3I5&Z /3MSN#1K892??\@6M!$"ZIH
MX8%H=Z#4)2+,[&,3%9#Y(J!,0DXU8D(I:&W'6K);2=H/Q'+8B3'NN\O-HK>
M_+"7;*/2%A1.8K]!;245-DF%'R<E>-'1($LT;8I)I"2\@-(NS7/$0;<EMI:-
M-MSX0>SO>![MHS#&2:_=<[?QW/VUYT?K^7T!7+U[_J#541,A^@\+*VZBQ7_8
M@T*:!=;6A7B_"]VHN]N%?10.O1YN[T*O<=W[^]NAM^>D$_O1CMT6D!\D7KO=
MI+&;'&%WP8%(#KGYC&:BA#:+25OT8+>D+2B,HP,+V_?>CPKOWVS'6K>[M1\C
M+]RQW0+#7HC#'=_NQFEG_TT^$UE0KA"#J>%Y%[$1D.OC?CW18EX=@!.AS7%:
M#6?F%PFD!9CW4R'TV\2>J<U/U_ G4$L#!!0    ( %> ;U24$[+2<@,  /4+
M   9    >&PO=V]R:W-H965T<R]S:&5E=#8W+GAM;+U636_;.!#]*X300PLD
MD4A]68%MH(T1;($4"))T]U#T0$MCFZA$>DDJ;O]]25J1'9NRLPOL7FQ1FC?O
MS2,YY'@CY ^U M#H9U-S-0E66J^OPU"5*VBHNA)KX.;+0LB&:C.4RU"M)=#*
M@9HZ)%&4A0UE/)B.W;M[.1V+5M>,P[U$JFT:*G]]@EIL)@$.7EX\L.5*VQ?A
M=+RF2W@$_75]+\TH[+-4K &NF.!(PF(2?,37,YQ9@(OXD\%&[3TC6\I<B!]V
M\+F:!)%5!#64VJ:@YN\9;J"N;2:CX^\N:=!S6N#^\TOV6U>\*69.%=R(^B]6
MZ=4D& 6H@@5M:_T@-G] 5U!J\Y6B5NX7;;K8*$!EJ[1H.K!1T#"^_:<_.R/V
M #@9 ) .0-X*B#M _%9 T@$2Y\RV%.?#C&HZ'4NQ0=)&FVSVP9GIT*9\QNV\
M/VIIOC*#T]-;QBDO&5^B!RB!/=-Y#0I=HMM6MQ+0%\99TS;H#HRWZ)[^,E.N
M%7H_ TU9K3Z8R*^/,_3^W0?T#C&.GE:B5917:AQJH\YRA&6GY--6"1E0,H/R
M"L7X I&(8 _\YNWPR .?O1F.B]?PT%C:^TIZ7XG+%_\#7R^,@4JC60OHVYV)
M1Y\U-.K[";:X9XL=6S+ =@=*72-:FUUL6 &9?H!*"173J!9*@7<ZMBE3E]*V
MA^?I94[(.'S>-]T3A)-1\3IJYHDB18[[J%=%)7U1R>FB!%]>:I -6O1F4BDI
M7X);A1>(@_85MDV;[:G!<8X/--\<1Q%"BI%?<]IK3L]K?K*:=PO@XT[SB:G.
M>H;L?UA8><^6GZS';";BLS@_,B^/LLCOW:CG&IWCBGU<HR.N)"YB/U?1<Q7G
MN!(?5W&\*'*2^;EPM.NQT3FVU-L0(\]*C8H!NKV6CL_195XZ?$R7#AB)=XT.
MDY-L3RLP%XZ%V:A>3G+,.;#'\*[;X=/M[DEH6MO3T)U-ZY=320LT!W,9L=L"
M*J^:V.- E@XYONM4^$RK^C?]%Q]WH,L<9P=MRA>%XV)@K^%=H\)G.I63W'*@
MDD-ESNY2-."5F?H$Q(?MU!=&2#8TU[MVA[/_YA3H\J:O-E<6)8>ZC\-(E)#D
M0'>X=\6R%^(O5"X95ZB&A<%%5[E)(+=WS.U B[6[=<V%-G<X][@R]W*0-L!\
M7PBA7P;V(M??]*>_ 5!+ P04    " !7@&]4YI@WK\T"  "F!P  &0   'AL
M+W=O<FMS:&5E=',O<VAE970V."YX;6R-E<ENVS 0AE^%$')(@"9:;2N!;<!+
M@Q9( ,-IVD/1 RV-+"(4Z9*4G;Y]24I6O,AJ+S:7F7^^(:F9X8Z+-YD#*/1>
M4"9'3J[4YL%U99)#@>4=WP#3.QD7!59Z*M:NW C J74JJ!MX7M\M,&'.>&C7
M%F(\Y*6BA,%"(%D6!19_ID#Y;N3XSGYA2=:Y,@ON>+C!:W@!];I9"#US&Y64
M%, DX0P)R$;.Q'^8Q<;>&GPGL),'8V0R67'^9B9?TY'C&2"@D"BC@/7?%F9
MJ1'2&+]K3:<):1P/QWOU1YN[SF6%)<PX_4%2E8^<V$$I9+BD:LEW7Z#.IV?T
M$DZE_46[VM9S4%)*Q8O:61,4A%7_^+T^AP,'OW_!(:@=@E.'Z()#6#N$-M&*
MS*8UQPJ/AX+OD##66LT,[-E8;YT-8>867Y30NT3[J?$C89@EA*W1$A(@6[RB
M(-$MFE!]OWH'D'XIZ,-J)B E"CUQ*;7=]1P4)E3>:(_7ESFZOKI!5X@P]"WG
MI<0LE4-7:4H3RTUJHFE%%%P@\@/TS)G*)?K,4DB/!5R=7I-CL,]Q&G0JSB&Y
M0Z'_"05>X+< S?[?W>O "9LC#ZU>>$'O^&CGO%RIK*1HDB2\9$H>7 3ZN>24
M(OU>=UBDOSIB1TWLR,:.+L2>PIHP9BYRBJEA:+N?2J)G)4P5V([]*+X?NMO#
M,SLW"NX'?F-T1-=KZ'J== O!M\34AS:JRK5_$#"*_1.H<QN_'P;M4/T&JM\)
M-<NQ6,,MS[+6Q]P_"WGK!U%\ M9B%?I^U$XV:,@&G63ZH? M" *M8(.SD-X)
M5)?%$5#< ,6=0/J#_<?3BL]>S2 (3K#.;8Z>7T7F'I2\ O0%F4X@D?V$JLK0
MK#;-9F)K[,GZ5#>AJF=\R%0=[%G?.V$24<BTI'<WT$BBZ@K51/&-+:PKKG29
MML-<-U(0QD#O9YRK_<0$:%KS^"]02P,$%     @ 5X!O5)WXL:S" @  A D
M !D   !X;"]W;W)K<VAE971S+W-H965T-CDN>&ULO59=3]LP%/TK5QF:F 8D
M3MJD96TE:(6&Q*2*C^UAVH.;WJ86B=W9;@O_?G823"BEZA[@)?[(/><>GRM_
M]-9"WJLYHH:'(N>J[\VU7ISZODKG6%!U(A;(S9^9D 759B@S7RTDTFD)*G(_
M#(+8+RCCWJ!7SHWEH">6.F<<QQ+4LBBH?#S'7*S['O&>)JY9-M=VPA_T%C3#
M&]1WB[$T(]^Q3%F!7#'!0>*L[YV1TR&)+*",^,EPK1I]L$N9"'%O!Y?3OA=8
M19ACJBT%-<T*AYCGELGH^%N3>BZG!3;[3^P7Y>+-8B94X5#DO]A4S_M>QX,I
MSN@RU]=B_1WK!;4M7RIR57YA7<<&'J1+I451@XV"@O&JI0^U$0T :;T!"&M
MN"\@J@&E<WZEK%S6B&HZZ$FQ!FFC#9OME-Z4:+,:QFT9;[0T?YG!Z<$%XY2G
MC&=PC2FR%9WDJ. 8SCC-'Q53(&9PEJ%MMH7"X0@U9;GZ8C!W-R,X//@"!\ X
MW,[%4E$^53U?&YTVFY_6FLXK3>$;FD:8GD!$CB ,0K(%/MP?'KR$^\8=9U'H
M+ I+OM8;?+="TQS&5&D8+7$'8>0(HY(P^@_/CUP"^'UEXN%28Z'^[,C6<ME:
M.^5?"9X=:Y0%S%Q>*B7E&9KMJ-419%*HK66JB-LEL3T/5H-.W.KYJV8M7L>$
M).ZZH!>2VTYR>Z=D EI -X 1?53[&!\[WO@#C$]<MN2]C*^(XX:I"8DVC'\=
M0\(DV&Y\QTGN[)3<)9\_D3CXID75DDY0=?:M1-<EZGY )4CP?,H%[U6+FOE%
M,3H;M=@2$X;)]EJ0QM%,=F^##H&O>V\"\GR>D? CS'\^[DCT;N9'KXZ79',C
M;(F)DW##?+]Q1=KWR0\J,\85Y#@SJ. D,7!97?G50(M%>6M.A#9W<-F=FV<2
M2AM@_L^$T$\#>Q&[A]?@'U!+ P04    " !7@&]447A_780$  #^%@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970W,"YX;6S-6%UOVS84_2L77C&T6!*)E*R/
MS#&0QB@:H!VR)-T>ACTP,FT3E42/I.,&V(\O]1%1EF1!S8.:%UL4[R'/Y>&]
M5^1LS\57N:%4P;<D3N7%9*/4]MRR9+2A"9%G?$M3W;/B(B%*-\7:DEM!R3('
M);&%;=NS$L+2R7R6O[L1\QG?J9BE]$: W"4)$4_O:<SW%Q,T>7YQR]8;E;VP
MYK,M6=,[JKYL;X1N6=4H2Y;05#*>@J"KB\DE.E\X. /D%G\QNI>U9\A<>>#\
M:]:X7EY,[(P1C6FDLB&(_GND5S2.LY$TC__*02?5G!FP_OP\^H?<>>W, Y'T
MBL=_LZ7:7$R""2SIBNQB=<OW'VGIT#0;+^*QS']A7]K:$XAV4O&D!&L&"4N+
M?_*M7(@: +E' +@$X*$ IP0X0P%N"7#SE2E<R==A0129SP3?@\BL]6C90[Z8
M.5J[S]),]SLE="_3.#7_P%*21BQ=PRV-*'LD#S&5< IWQ3X OH)NDX<GN!)T
MR13\N2,Q4T]PG2Y91!07\'9!%6&Q?*<'^G*W@+=OWL$;8"G<;_A.DG0I9Y;2
MY#,*5E02?5\0Q4>(+FAT!@XZ 6QCU &_&@ZW.^"+P7 4'L(MO>+5LN-JV7$^
MGO,#RWX"-T0J6.PH_/-)V\.UHHG\MV<VIYK-R6=SC\QVSQ6)857-*6HZ[IG:
M0,13)70(:B7UYE([P133?5I\KGD\42) RZK-.X4K)I_FDV=YYG&.,HD>Z^IT
MV(2^4QD=N.56;KF];GW2?,Z!Q#IW:<<HZ"P(4;$G8RXE[21;#.G5B)SZ&#?8
M=A@A-P@/K19NRZ=3'/JHVZEIY=2TWRF>KD\5%4E-+R($2==4IULE3R"EJLNQ
M:8LS<GS4X'S5ML(8AT$W9Z_B[ W87\^[MV?#^M6 _@CA$52S!0/H[U*6/G(6
MT25$,=-+?21@=% 4_67LI%QWQT1IG(ZA)=6E+.*[K-N@NO0*6DH$GMM0JVV#
MD1=VBQ56WH8_(!;\#_<YZ\MGUK='6!],AFQ37^P1I$2U>H9>H9@EJ;I288"F
M#3D[K-#4]8\(BDPQ0;C79P2*0VC#@CS)(6&(3.% SACJF8R.^E/Z3U*OG>]]
MY#3%:QLA[-M'M#/I'O7G^T[M7AJ5)F$C;PQ=33Y'_FO4U6]');+MIK!M*X3J
ME?/09U-54']9"=&OOR#/_EWQXA\%=O$P.$Q-2D?A"')BD]2Q_0KE+$D=A&G0
M$+/#!F._6TILB@KN+RK#I'QAU.+:H6&,4P,VV1\/.3>,+K/3DM#!S>_8#B-D
MA_B(T*;^X/[Z@P($OPVNH]AD>3P=0SF3W_&0+_+1E?/: =HLHQTVGG],-U-?
M<']]Z=#MI=%H\CL.QM#4)'D\Y,-]=$W#=C0&7E/4MA'VO".G2L>4&:>_S)0K
MK+V^U,=Y=0)_<#4D+AV3V!TTQCV,R>!._Y?ZS]&P)%6_J7"G=O-TTF'E.<ZT
M(:)5NVO,;H8_$[%FJ828KC3,/O,U7A27K45#\6U^_?C E>))_KBAFKS(#'3_
MBG/UW,AN-*LK[_EW4$L#!!0    ( %> ;U0J\[\1? 0  /T3   9    >&PO
M=V]R:W-H965T<R]S:&5E=#<Q+GAM;+U8RV[;.!3]%<+HH@4FD4A)EE0X!I)X
MV@G0#H(DG2X&LV DVB8JB2Y)Q4V_?DA)T5NT QC9V'K<>WAXR7-(<;%G_(?8
M$B+!KS3)Q,5L*^7NHV6):$M2+,[9CF3JS9KQ%$MURS>6V'&"XR(I32QDVW,K
MQ32;+1?%LUN^7+!<)C0CMQR(/$TQ?[XB"=M?S.#LY<$=W6RE?F M%SN\(?=$
M?MO=<G5GU2@Q34DF*,L )^N+V27\N$*A3B@B_J%D+UK70'?ED;$?^N8FOIC9
MFA%)2"0U!%9_3^2:)(E&4CQ^5J"SNDV=V+Y^0?]4=%YUYA$+<LV2[S26VXM9
M, ,Q6>,\D7=L_Q>I.N1IO(@EHO@%^RK6GH$H%Y*E5;)BD-*L_,>_JD*T$N!\
M(@%5":B?X$XD.%6"<VR"6R6X167*KA1U6&&)EPO.]H#K:(6F+XIB%MFJ^S33
MXWXON7I+59Y<WF029QOZF!!P*021 N L!I\9B_<T2< 96)$US:@D9U_4^,1@
M&/]^122FB?B@@K_=K\#[=Q_ .T S\+!EN5!H8F%)Q52W9T45JZN2%9I@!1'X
MRC*Y%>#/+"9Q%\!27:S[B5[Z>86,B"L2G0,'_@&0C> (H>OCT^V1]-71Z3 T
M],:I1\TI\)P)O$_F(?GWBXH'-Y*DXC]#:V[=FENTYDZT]IDS(4"$.7^FV0;@
ME.69'*MA">,5,-IPGM1 >C!4!7MJU^I@6(>E5[/TC"Q;9<#53(Y^YI3WIT\Y
M6[P!!\=W[ D*\YK"W$CA,HKR-$^P5*.BJL0E_8VUNXT1*)'F+0)G<Q\%?K=6
MUR-AGN/9<)RH7Q/UC43_5@L*[==KC*4_*%/H(=OID?0')'TX#\)QCD'-,3!R
M_%Y8MJ[D$^%J"5*KC%['] Q\)I@+P-8@%V2=)R"A:S+&WMP M$L@@T+"FFMH
MA+HNC)IP<$>28L3%ENY,P-!N_-E^ ZG#UGH 3R/V"J<]ZH'K^'VQ'PSK\D0-
M3W1"N5=@[8F, C2E=]CX,'1.IO@*JJ-E%_I.T%/36)SCS"&:(-O8.#3[^-&J
MAT.']NW 07VB[H"H9_M>,,&S,7)H=O(3*/] "^%!Y</&\Z'9]!\XCA4__L.$
MUA@S]-]"[HW)0K,)'B_W8##8$$(TD/NAL"[/QF"AV6%?*?=P9(LQI7;4>#&R
M3Z;V"JJ[<D._O[Z/A;DH]">H-C:.S#9^M-8KG([6H=M?X='0Q><!<B98-B:.
MS"9^ J4?: $Z!Z6.&K='9K=?D2?UH;Q3?!](M,U8PC;/)N#&F9'[!JI'C<,B
ML_\=K?H*ISWN:G+:?=6CX7:Z&];EV7@K,GOKZU1?@76F<CA)HK%D9-XLOTKU
MPZWPF=HO^_VE<RP.>EXXL<:CQL^1V<^/UWTPM$@?H?YF9"S,A?;$&H\:/T=F
M/S^%\LTM!-/"MUKG)6K7OBG.G90>M K*HY/Z:7VV=5F<Z%A->'DP]A7S#<T$
M2,A:I=KGOJH4+\^:RAO)=L7IRR.3ZA.AN-P2M6/@.D"]7S,F7VYT _6)W_)_
M4$L#!!0    ( %> ;U3%T"'0C (  # '   9    >&PO=V]R:W-H965T<R]S
M:&5E=#<R+GAM;(V5WV^;,!#'_Q4+]:&5MO(K$*@(4IIH6Q\Z1>VZ/4Q[<. 2
MK!J<V:9T^^MG&^IE"VGZ OYQW_O<'?B<=8P_B@I HN>:-F+F5%+NKEQ7%!74
M6%RR'31J9\-XC:6:\JTK=AQP:40U=0//B]T:D\;),[.VXGG&6DE) RN.1%O7
MF/^Z!LJZF>,[+PMW9%M)O>#FV0YOX1[DPV[%U<RU7DI20R,(:Q"'S<R9^U>+
M5-L;@Z\$.K$W1CJ3-6./>G)3SAQ/!P04"JD]8/5Z@@50JAVI,'X./AV+U,+]
M\8OW#R9WE<L:"U@P^HV4LIHYB8-*V."6RCO6?8(AGTC[*Q@5YHFZP=9S4-$*
MR>I!K"*H2=._\?-0ASV!/SDB" 9!\%9!. A"DV@?F4EKB27.,\XZQ+6U\J8'
MIC9&K;(AC?Z*]Y*K7:)T,K]I)&ZV9$T!S84 *1!N2O21L;(CE*+W:%XS+LEO
M;(I^O@2)"147:N/A?HG.SR[0&2(-^E*Q5BBER%RIHM*^W6*(X+J/(#@2P1**
M2Q3Z[U#@!?Z(?/%VN?>OW%6UL 4);$$"XR\\XL^FKNMP6)TE$05EHN6 OL_7
M0G+U'_YX!1M:;&BPDR-8%7TP5KM>%1F5/I%/N3^)DR1SGT9@$PN;G(*%8[!>
M%>_#@L3SQF&1A46G8),Q6'0(\X,X'H?%%A:?@D5CL/@0YJ71D<RF%C8]!8O'
M8-,16!@<^6:)A26OPI8M(%F!ZM0;"7P,FQQ@P\B?^N/8U&+35[&?U45"_IX"
M;$[!&#T]^%'3*/!"2^_/\J'5U(^3]+\8W;U^IN^26\RWI!&(PD;IO,NI<L#[
M_MQ/)-N9%K=F4C5,,ZS4E09<&ZC]#6/R9:*[IKTD\S]02P,$%     @ 5X!O
M5)MI,%^1 P  HPX  !D   !X;"]W;W)K<VAE971S+W-H965T-S,N>&ULK5=-
MC]LV$/TKA)!# B0KD98L*[ -K+UIDT/0Q6[2'HH>:&DL$Y%(AZ36"= ?7^IC
M]6U[V^IBB]2;QS>CT8-F>1+RFSH :/0C3;A:60>MC^]M6X4'2*FZ$4?@YLY>
MR)1JLY2QK8X2:%0$I8E-'&=NIY1Q:[TL]N[E>BDRG3 .]Q*I+$VI_+F!1)Q6
M%K:>-QY8?-#YAKU>'FD,CZ"_'N^E6=DU2\12X(H)CB3L5]8M?K\E14"!^)W!
M2;6N49[*3HAO^>)3M+*<7!$D$.J<@IJ_)]A"DN1,1L?WBM2JS\P#V]?/[+\4
MR9MD=E3!5B1_L$@?5M;"0A'L:9;H!W'Z"%5"7LX7BD05O^A481T+A9G2(JV"
MC8*4\?*?_J@*T0K \S,!I H@_0#W3,"L"I@5B9;*BK3NJ*;KI10G)'.T8<LO
MBMH4T28;QO/'^*BEN<M,G%Y_XIKRF.T20+=*@5:(\@C]*D1T8DF"WJ%'TSA1
M9FZ+?;/]^@XT98EZ8P!?'^_0ZU=OT"O$./IR$)DR#&II:Z,N/\,.*R6;4@DY
MHP03]%EP?5#H X\@ZA+8)JTZ-_*<VX9<9+R#\ ;-\%M$'()'!&U?'(Z#"W)F
M=:EG!=_L#%]=O3\?A/DU77BB,OKK K-;,[L%LWN%^2W:0<PX9SPVO9U0'L+8
M<RC)O((L?\V?UM@S%9HO[:=V=49@KN.Z00WK:/5JK=Z+M)H7^'O&9/]!EPI+
MBGGK:.*[@=\3.$0%_MP?ES>OY<U?6$K@T94ZS@?G8]_W\:PG<P36+7='J%\+
M]2\*_>T(DNI<H8+8^*IY<_]&MV&F 6VI!/3AX\.%SEK4IRPF[MF@9@ZF[-E@
MY%D[@=<K]3541REV&H]T_G_/5ASMPYV>O(N0KK:6?^/)&K:BNE;%J["N5-)(
M)?^^9>^%TN_H2_L6-V:+IW9;W-@MGM1O*[:.G06>/^B.:["NVL9P\02.BX=F
M.M!W"=+5UK@MGLYN\=!(1\MX#=:5VO@M_@^&^T5F&\FB&"[U56.V>&JWQ8W=
MXDG]%@^ME,P\#_>+/83AF;]PQXM-&L<E$S@N&=KIV&?"".S\=P)IC)=,9[P5
M5?M;RL..N^@K'<*Z12^EVJW/_11D7$Q!"H4BX[K\.JYWZTGKMI@O>OL;,X&5
M\U)#4XYOGZDT3:)0 GM#Z=SX1I,L)Z)RH<6Q&"IV0IL1I;@\F"D29 XP]_="
MZ.=%?D ]EZ[_ 5!+ P04    " !7@&]4F#CCB$4"  "S!0  &0   'AL+W=O
M<FMS:&5E=',O<VAE970W-"YX;6R-5$MOVS ,_BN"L4,+;/$KS;8B,9#$>_30
M(6C0[3#LH-B,+526/(FNVW\_27:\K$O27"R1XO?Q97+:2O6@2P D3Q47>N:5
MB/6U[^NLA(KJD:Q!F)>M5!5%(ZK"U[4"FCM0Q?TH""9^19GPDJG3K50RE0UR
M)F"EB&ZJBJKG!7#9SKS0VRGN6%&B5?C)M*8%K 'OZY4RDC^PY*P"H9D41,%V
MYLW#ZW1L[9W!=P:MWKL3F\E&R@<KW.0S+[ ! 8<,+0,UQR,L@7-+9,+XW7-Z
M@TL+W+_OV#^[W$TN&ZIA*?D/EF,Y\SYX)(<M;3C>R?8K]/E<6;Y,<NV^I.UL
M)[%'LD:CK'JPB:!BHCOI4U^'/4 X.0*(>D#T$C ^ HA[0'PN8-P#7*G]+A57
MAY0B3:9*MD19:\-F+ZZ8#FW29\*V?8W*O#*#P^1&(!4%VW @<ZT!-:$B)U^D
MS%O&.7E'OE&EJ.T-N4@!*>/ZTFCOURFY>',Y]='$8)G\K/>WZ/Q%1_R%$;F5
M DM-/HD<\G\)?!/\D$&TRV 1G61,(1N1.'Q+HB *#P2T/!\>'("G9\/#CR>R
MB8=^Q(XO/L(W5-ZVX?_FI$QG7.I& ?DYWVA49FY^G7 ['MR.G=OQ:VY955.F
MS%SCH=YV)%>.Q"Z4Q\24['&_V*]:I*<LNMC]O=^Y E6XM:!))AN!W7\Q:(?-
M,W<#]T*_,!NI6R!_:;IU=DM5P80F'+:&,AB]-_&H;D5T LK:#<U&HAE!=RW-
M5@5E#<S[5DK<"=;!L*>3/U!+ P04    " !7@&]46?D7?"X#   ,"P  &0
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
MF34PWR^%T,\WV:O6ZN>!^?]02P,$%     @ 5X!O5.W5EB>H @  W <  !D
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
M45XOQO3+Z@FH)EJ4ML?-A,:.:8<K?#5!&@/<SX30SQ/3-IMW./T+4$L#!!0
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
M[$SNL<*/#5 6@.]+*<UQ8!?H/U\6_P-02P,$%     @ 5X!O5 >,9F8H P
M#!,   T   !X;"]S='EL97,N>&ULW5AM:]LP$/XK1AVC@U''\>K&:QS8 H7!
M-@KMAWTK2BPG EGR9*5+^NNGLQSGI;J0]<.6SB:Q=(_NN4>Z<R0RK,U*L+LY
M8R98ED+6&9D;4WT,PWHZ9R6M+U3%I$4*I4MJ;%?/PKK2C.8U.)4B[/=Z25A2
M+LEH*!?E36GJ8*H6TF3DLC,%[O$ESTB4?""!HQNKG&7DX?SMSX4RUV\"]SQ[
M?W;6>WAWO6\_;X!W)/227AY!>M'KX<0 8N3)<>2'N#'JJZ.H#S!CQ(-=X@W1
MCF/8IFPT+)3<9"XFSF"9:<F"1RHR,J:"3S0'KX*67*R<N0^&J1)*!\:6C T5
M@:5^<G#D>E!-+4_)I=)-;!?!?4_:X7O N@<"N1"=P#YQAM&PHL8P+6]LIQG<
M&)]!0=N^7U56X4S35=2_)!N'YF&#3)3.F>["1&1M&@T%*T".YK,Y/(VJ0@"-
M4:5MY)S.E*2-AK5'V["T4R;$';QJ/XH=[F6QE;,>9$QV32NH;3H:UP'^;3;'
MO4W;?Q%O4/%'93XO['1DTX<B8[>:%7S9])=%)P!CCW!V6E5B]4GPF2R9F_S1
M 4=#NO8+YDKS)QL-2F5J#4R3X)%IPZ?;EE^:5O=L:=;EM"QPS?U7J/GOKO.,
M2::IV!9M:_^45_G%BMN]Z5]H;GY6]A5[1<97IZ^QW8]/763R&D2^BG0/3E]D
MG)ZDQK#=O[<."3M'A,X:P%$L(]_A4"<V08/)@@O#9=N;\SQG\ME)P=(;.K%'
M_1U^.SYG!5T(<]^!&=FTO[&<+\JT&W4+"]&.VK2_PO2BI#L'VEA<YFS)\G';
MU;-)TPQLPT9M+W#81VZ:RX]@/@[S(X!A<3 %F(_SPN+\3_,9H/-Q&*9MX$4&
MJ,\ ]7%>/F3<W%@<OT]J+_],TS2.DP1;T?'8JV",K5N2P,?/AFD##RP.1/JS
MM<:SC5?(X3K <GJH0K"9XI6(S11?:T#\ZP8>:>K/-A8'/+ L8+4#\?UQH*;\
M/G$,6<6T86\PCJ0IAD M^FLT29#52>#VYP=[2^(X3?T(8'X%<8PA\#;B"*8
M-&!('#?[X-Y^%*[WJ7#S_]?H-U!+ P04    " !7@&]4EXJ[',     3 @
M"P   %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%
MBD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L
M'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%":4A+
M,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO
M8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    ( %> ;U3TG%^'
M/ 8  %TX   /    >&PO=V]R:V)O;VLN>&ULQ9M;4R(Y%(#_2HJGV0<6:?HV
MEDZ5RCA+E:/L8/FZ%9H *;L3)DGC.+]^DT;6T]B>VI<C3]H7NC]R^\Y)PMF3
M-H]SK1_9KZI4]KRW=FYS.AC88BTJ;O_4&Z'\E:4V%7?^T*P&=F,$7]BU$*XJ
M!]')23JHN%2]+V?[9TW- !YH)PHGM?(GPXD'*9[LZ_5PR+;2RKDLI7L^[S7_
MEZ+'*JED)7^+Q7GOI,?L6C_]I8W\K97CY:PPNBS/>\/=A0=AG"S>G)X%R'L^
MM\T9Q^<_N <Y[Z4G_H%+::QK[FB>SSWC5OB;=T>UT]>R=,*,N1/?C*XW4JW"
M8_RW&("OT93#_N^N$$_-_RE&O5S*0HQU45="N5TY&E$&0&77<F-[3/%*G/>N
M]%88MN$K$;Z4?\MDL?N"SI.!XC*GTE\PDT7#2,=S42^D8Q.U^["_"K B!"NB
MQ;KRQ[J4"__V!;OD)5>%8$WU6@ X0@!'1P-DGZ8<0,8(9/R!D+, $3Y@F5ZR
MNXTP #)!().C0<Z<+@!DBD"F1X.\XG8-(#,$,J.%O.6N-F)?N[OK@"Q'R'):
MLEE=5=P\-W4J5TKZCW'EV$51Z%HY"2 _(Y"?:2$O:RN5L)9=Z6HNU>%H.#S!
M1ND36C;O75^E[IEQM6!??]9R$SX Z5"'$$MDII?NB?NF-Q9;4>HW;)A(AL0F
MN7-K+US?TDSMN^Z-Y$UD(@7L&4-,)$-BD]R*X-]"5X)-/>EL[0L2LF'^&!(+
MY(7KGO]JEQ>FBR&Q+X(4'ON7W/KJ]#W5/\DV-[UT#8B)"6-(;XS"W[$;AAM/
M&!%"K1_2/D)&S!=#8F%<^U%.%3X49C]$(>26^]>WZAE3QI#8&1.?&:A5>"F[
ML#;$5:&"OVF]>))E"2DQ9PR)I7&CU:I_+TSEQ[XY'/0B3!<1L2XNA1)+W]BF
M/BZ%%1IAEHB(+?$2E/C6=B-\[VUQH:D&>:Y15=+MXKG0Q'S/#93"]XPV)&:)
MB-@2UUP:]L#+&KHAPMP0$;MA)E;A#C]T;+0)!0;!,$%$U(*HYU;\K /;UVVH
M50B&*2&B5L+=PV3<'WYF4]_,1"5A;A-A'HB(/3#SSUC4?J"=3%B_:66O1OV[
MALELA!DA.F86\4\$,3$E1,1*P#%'</X"<\2(VA$=Z0[[=-_$ '] 2,P9(V)G
M=.<]G9B80D;$"NE*@#HAT1DK8H6\FPGM2"$FYI41L5>Z\J'.LL0<,R)V#$R,
M.N$PSXR(/8-F2*UQ<H199W2,[*.S,#'IC(Z:AC"(B4EG]*%Y2%<IQIAL8F+9
M',;^G8"8:&)BT;S&UYUHF%QB:KD<!MJ=A)A98F*SX!%/##'1U1#JC 7%3" F
MYI:8/'_!,%.(B5DFIK8,BIE!3,PR,75N@V+F$!/33$RLF<YHO,]NN0GCYA9B
M8IJ)C[!&XC&G_F992;A<DF"Z28Z1VP1,S<+S("8FG>1(V<U8."Y+.&^18 )*
MCI'==+;-!+-00FVA;LS]Y ;$Q"R4$%L(2<-"O4-,=%6>V$+=:=A+RX211X))
M*"&64"L/>VV2>U*(B4DH(9;0 >98+(4QOO;]B9!50$Q,0@EYKM/"A+X,>23$
MQ"24$$OH --GC]KGD:7<#?-P$2;%))022PA/P^$\8(I)**5>O$<Q8?">8A)*
MJ26$8L+@/<4DE%*OTW1.:OPW,D%,3$(IL83>PYRM?8K9OX>8F(128@F]AQD:
M@%90Z2FZ.8S80N]A7M?-ABR(B5DH/<J$6Y]=E*5^XC!X3S$+I<06>A=3\?+9
MMKH09J&4V$+O=J%=P@FW!&(6RH@MA,Y?MB:#,\Q"&;&%<$PHRPRS4$9L(1P3
MRC+#+)016PC'A++,, MEQ!8ZF+1^S=7";,T8#N\99J&,V$)O,-MI!L3$+)01
M6^@-YH5RLI";9L_R!1S>,W23,K&%6GN3.C/*#+-/1FR?-RL5843?;,IFPS>'
MJZ099I^,V#X=F"_1QO?P0QN F6/VR3]ZW:?=>2 F9I_\ U=_.AIDCBDG__CE
MGRY$3#<Y^?K/P8ZK;D1,-3GUV@^VQ:D5!N68:G+JM1\4$X9!.:::O%'-H+G9
M?CE;^ %7B<6M?X7UYPM>%E/#PI_PI&$4)V$/[;(NRRM_[D[=:+[8_SIN_\N^
M+_\"4$L#!!0    ( %> ;U12-<:CB@(  +DR   :    >&PO7W)E;',O=V]R
M:V)O;VLN>&UL+G)E;'/-VDUNHT 0AN&K6!P@[:[JJNZ,XJQFD^TH%T!.^T>Q
MC06,)KG]6,["_M L9A/QK5"#*-X-CQ#P]*L>VG'?G8;=_CPL/HZ'T[!J=N-X
M_A'"L-[58SL\=.=ZNAS9=/VQ'2_+?AO.[?J]W=8@RZ6'_GY&\_QT/W/Q^GFN
M_S.QVVSVZ_JS6_\^UM/XC\'A3]>_#[M:QV;QVO;;.JZ:\'&X[1["=1,?+I.;
MQ<O;JNE?WF(3Y@X2")+Y@Q2"=/Z@!$%I_B"#()L_R"'(YP_*$)3G#RH05.8/
M>H2@Q_F#XA)E7!(D3; FT#HBUY' ZXA@1P*Q(Y(="<R.B'8D4#LBVY' [8AP
M1P*Y(](=">R.B'<DT%M0;R'06U!O(=!;)@_;!'H+ZBT$>@OJ+01Z"^HM!'H+
MZBT$>@OJ+01Z"^HM!'H+ZBT$>BOJK01Z*^JM!'HKZJT$>NOD90F!WHIZ*X'>
MBGHK@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN!W@GU3@1Z)]0[$>B=4.]$H'="O1.!
MWFGRLIM [X1Z)P*]$^J="/1.J'<BT#NAWHE [X1Z)P*]#?4V KT-]38"O0WU
M-@*]#?4V KT-]38"O6WRL9) ;T.]C4!O0[V-0&]#O8U ;T.]C4!O1[V=0&]'
MO9U ;T>]G4!O1[V=0&]'O9U ;T>]G4!OG_QL0J"WH]Y.H+>CWDZ@MZ/>3J!W
M1KTS@=X9]<X$>F?4.Q/HG5'O3*!W1KTS@=X9]<X$>F?4.Q/HG2<_"Q+HG5'O
M3*!W1KTS@=X%]2X$>A?4NQ#H75#O0J!W0;T+@=X%]2X$>A?4NQ#H75#O\IUZ
M#^/GH0ZWGJ\U7O\[J1XOY];;Y:_+KYV3>_R*<[BO&)[_ E!+ P04    " !7
M@&]4@]&L 2X"  !$,0  $P   %M#;VYT96YT7U1Y<&5S72YX;6S-VTUNVS 0
MAN&K&-H&EBQ2I-0BSJ;MMLVB%V E.A:L/Y!,ZMR^E)P$:)$:"5R@[\:"37*^
M$0=X=K[^_CA9OSKVW>"WR3Z$Z6.6^7IO>^/3<;)#7-F-KC<A?G5WV63J@[FS
MF=AL=%:/0[!#6(>Y1G)S_=GNS'T75E^.\6??CL,V<;;SR>K3:>.<M4W,-'5M
M;4)<SQZ&YH^4]5-"&D\N>_R^G?Q5W)!DKR;,*W\/>#KW[<$ZUS9V=6M<^&KZ
MN"L[=ID/CYWUZ?D2K_0X[G9M;9NQON_CD=1/SIK&[ZT-?9>>BEZ=3P[QANWI
M,[\X?RES+C#NO'7CY./$G'U_W/-(YM/K*1:R+K3G7_$E,9:^^/WL/.W&-F_,
MCM?[<W2'91X^6QZ7W_'O,WZI_\X^!*0/">FC@/2A('UH2!\EI(\*TL<'2!_Y
MAM((1=2<0FI.,36GH)I35,TIK.845W,*K#E%5D&155!D%119!45609%54&05
M%%D%159!D5509)44625%5DF155)DE119)45629%54F25%%DE1=:"(FM!D;6@
MR%I09"THLA8460N*K 5%UH(B:T&155%D5119%45619%54615%%D5159%D551
M9%44635%5DV155-DU119-45639%54V35%%DU159-D;6DR%I29"TILI8464N*
MK"5%UI(B:TF1M:3(6E)DK2BR5A19*XJL%476BB)K19&U^I^R_AC'PS^.7YYI
M;]KA.3];_CQQ\PM02P$"% ,4    " !7@&]4!T%-8H$   "Q    $
M        @ $     9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0    ( %> ;U2[
M08'-[0   "L"   1              "  :\   !D;V-0<F]P<R]C;W)E+GAM
M;%!+ 0(4 Q0    ( %> ;U297)PC$ 8  )PG   3              "  <L!
M  !X;"]T:&5M92]T:&5M93$N>&UL4$L! A0#%     @ 5X!O5&#)=+U#!@
M;AD  !@              ("!# @  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;%!+ 0(4 Q0    ( %> ;U115_K@'0(  &D%   8              " @84.
M  !X;"]W;W)K<VAE971S+W-H965T,BYX;6Q02P$"% ,4    " !7@&]4Z63N
M$UD&   P&@  &               @('8$   >&PO=V]R:W-H965T<R]S:&5E
M=#,N>&UL4$L! A0#%     @ 5X!O5"FH4 7D @  1P@  !@
M ("!9Q<  'AL+W=O<FMS:&5E=',O<VAE970T+GAM;%!+ 0(4 Q0    ( %>
M;U153O@>M 8  &H=   8              " @8$:  !X;"]W;W)K<VAE971S
M+W-H965T-2YX;6Q02P$"% ,4    " !7@&]4K+*:25(%  "/&   &
M        @(%K(0  >&PO=V]R:W-H965T<R]S:&5E=#8N>&UL4$L! A0#%
M  @ 5X!O5%SFP34%"0  J"@  !@              ("!\R8  'AL+W=O<FMS
M:&5E=',O<VAE970W+GAM;%!+ 0(4 Q0    ( %> ;U10(&$L2 ,  "X'   8
M              " @2XP  !X;"]W;W)K<VAE971S+W-H965T."YX;6Q02P$"
M% ,4    " !7@&]4 *_ /;DB  "2<   &               @(&L,P  >&PO
M=V]R:W-H965T<R]S:&5E=#DN>&UL4$L! A0#%     @ 5X!O5(^XM- O"P
M.2(  !D              ("!FU8  'AL+W=O<FMS:&5E=',O<VAE970Q,"YX
M;6Q02P$"% ,4    " !7@&]4]Z3?\^4"   0!@  &0              @($!
M8@  >&PO=V]R:W-H965T<R]S:&5E=#$Q+GAM;%!+ 0(4 Q0    ( %> ;U2(
MR#!]) 8  -@.   9              " @1UE  !X;"]W;W)K<VAE971S+W-H
M965T,3(N>&UL4$L! A0#%     @ 5X!O5)!F413> @  ! 8  !D
M     ("!>&L  'AL+W=O<FMS:&5E=',O<VAE970Q,RYX;6Q02P$"% ,4
M" !7@&]4[2F;OZX%  !X#P  &0              @(&-;@  >&PO=V]R:W-H
M965T<R]S:&5E=#$T+GAM;%!+ 0(4 Q0    ( %> ;U29'G'2H0@  "\6   9
M              " @7)T  !X;"]W;W)K<VAE971S+W-H965T,34N>&UL4$L!
M A0#%     @ 5X!O5&HM4=(["P  =2$  !D              ("!2GT  'AL
M+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q02P$"% ,4    " !7@&]4C7&:4](#
M  "#"   &0              @(&\B   >&PO=V]R:W-H965T<R]S:&5E=#$W
M+GAM;%!+ 0(4 Q0    ( %> ;U07U/D>W@H  - >   9              "
M@<6,  !X;"]W;W)K<VAE971S+W-H965T,3@N>&UL4$L! A0#%     @ 5X!O
M5%G!A1F?!   =@L  !D              ("!VI<  'AL+W=O<FMS:&5E=',O
M<VAE970Q.2YX;6Q02P$"% ,4    " !7@&]42E9J%UT*  #X&@  &0
M        @(&PG   >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;%!+ 0(4 Q0
M   ( %> ;U1C'93+>00  .H)   9              " @42G  !X;"]W;W)K
M<VAE971S+W-H965T,C$N>&UL4$L! A0#%     @ 5X!O5!#GG1.6!0  XPP
M !D              ("!]*L  'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6Q0
M2P$"% ,4    " !7@&]4923L-9T"  "5!0  &0              @('!L0
M>&PO=V]R:W-H965T<R]S:&5E=#(S+GAM;%!+ 0(4 Q0    ( %> ;U1S&H7!
M! 4  -P+   9              " @96T  !X;"]W;W)K<VAE971S+W-H965T
M,C0N>&UL4$L! A0#%     @ 5X!O5(\$E7S4!0  IPP  !D
M ("!T+D  'AL+W=O<FMS:&5E=',O<VAE970R-2YX;6Q02P$"% ,4    " !7
M@&]4\#$UZ&8$   H"0  &0              @(';OP  >&PO=V]R:W-H965T
M<R]S:&5E=#(V+GAM;%!+ 0(4 Q0    ( %> ;U2"1HDOY@4  $D-   9
M          " @7C$  !X;"]W;W)K<VAE971S+W-H965T,C<N>&UL4$L! A0#
M%     @ 5X!O5'&9>Z97 P  .0@  !D              ("!E<H  'AL+W=O
M<FMS:&5E=',O<VAE970R."YX;6Q02P$"% ,4    " !7@&]4(K%/=1(E  #:
M?0  &0              @($CS@  >&PO=V]R:W-H965T<R]S:&5E=#(Y+GAM
M;%!+ 0(4 Q0    ( %> ;U1@S+PXCP0  'X,   9              " @6SS
M  !X;"]W;W)K<VAE971S+W-H965T,S N>&UL4$L! A0#%     @ 5X!O5!8&
MO4$N!0  A0P  !D              ("!,O@  'AL+W=O<FMS:&5E=',O<VAE
M970S,2YX;6Q02P$"% ,4    " !7@&]4M6=+0]X"   .!@  &0
M    @(&7_0  >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;%!+ 0(4 Q0    (
M %> ;U2=<M\B@0(  '<%   9              " @:P  0!X;"]W;W)K<VAE
M971S+W-H965T,S,N>&UL4$L! A0#%     @ 5X!O5!HR\,76 @  _P4  !D
M             ("!9 ,! 'AL+W=O<FMS:&5E=',O<VAE970S-"YX;6Q02P$"
M% ,4    " !7@&]4-K,9=)X#  #4"   &0              @(%Q!@$ >&PO
M=V]R:W-H965T<R]S:&5E=#,U+GAM;%!+ 0(4 Q0    ( %> ;U0H7"FX604
M #,-   9              " @48* 0!X;"]W;W)K<VAE971S+W-H965T,S8N
M>&UL4$L! A0#%     @ 5X!O5*\:<+%X!0  HQ   !D              ("!
MU@\! 'AL+W=O<FMS:&5E=',O<VAE970S-RYX;6Q02P$"% ,4    " !7@&]4
M 4$NV2@&   D$P  &0              @(&%%0$ >&PO=V]R:W-H965T<R]S
M:&5E=#,X+GAM;%!+ 0(4 Q0    ( %> ;U3RR?2%O@0  +D,   9
M      " @>0; 0!X;"]W;W)K<VAE971S+W-H965T,SDN>&UL4$L! A0#%
M  @ 5X!O5 DK]T=) P  ? <  !D              ("!V2 ! 'AL+W=O<FMS
M:&5E=',O<VAE970T,"YX;6Q02P$"% ,4    " !7@&]4="X.>$T#  #8!P
M&0              @(%9) $ >&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;%!+
M 0(4 Q0    ( %> ;U0#,K]IU@(  $\&   9              " @=TG 0!X
M;"]W;W)K<VAE971S+W-H965T-#(N>&UL4$L! A0#%     @ 5X!O5+4>P"A:
M!   6 D  !D              ("!ZBH! 'AL+W=O<FMS:&5E=',O<VAE970T
M,RYX;6Q02P$"% ,4    " !7@&]4>$5(4'H%   $&P  &0
M@(%[+P$ >&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;%!+ 0(4 Q0    ( %>
M;U1BH;IN- ,  *P*   9              " @2PU 0!X;"]W;W)K<VAE971S
M+W-H965T-#4N>&UL4$L! A0#%     @ 5X!O5&E_UK)[ @  >P<  !D
M         ("!ES@! 'AL+W=O<FMS:&5E=',O<VAE970T-BYX;6Q02P$"% ,4
M    " !7@&]4]E2K!OD"   #"   &0              @(%).P$ >&PO=V]R
M:W-H965T<R]S:&5E=#0W+GAM;%!+ 0(4 Q0    ( %> ;U2CA'5BX0(  (D'
M   9              " @7D^ 0!X;"]W;W)K<VAE971S+W-H965T-#@N>&UL
M4$L! A0#%     @ 5X!O5#U*?]!3 P  5PP  !D              ("!D4$!
M 'AL+W=O<FMS:&5E=',O<VAE970T.2YX;6Q02P$"% ,4    " !7@&]4NP76
MJIH$  #G$@  &0              @($;10$ >&PO=V]R:W-H965T<R]S:&5E
M=#4P+GAM;%!+ 0(4 Q0    ( %> ;U39Z?A,J@(  +8&   9
M  " @>Q) 0!X;"]W;W)K<VAE971S+W-H965T-3$N>&UL4$L! A0#%     @
M5X!O5..P.C1G P  @ X  !D              ("!S4P! 'AL+W=O<FMS:&5E
M=',O<VAE970U,BYX;6Q02P$"% ,4    " !7@&]4N-D@N:$"   C!P  &0
M            @(%K4 $ >&PO=V]R:W-H965T<R]S:&5E=#4S+GAM;%!+ 0(4
M Q0    ( %> ;U2[,*CL8 (   ,&   9              " @4-3 0!X;"]W
M;W)K<VAE971S+W-H965T-30N>&UL4$L! A0#%     @ 5X!O5%WW@QOQ @
MU@@  !D              ("!VE4! 'AL+W=O<FMS:&5E=',O<VAE970U-2YX
M;6Q02P$"% ,4    " !7@&]4A9_Z3!,$  "6#P  &0              @($"
M60$ >&PO=V]R:W-H965T<R]S:&5E=#4V+GAM;%!+ 0(4 Q0    ( %> ;U0^
MF!"9OP,  "$-   9              " @4Q= 0!X;"]W;W)K<VAE971S+W-H
M965T-3<N>&UL4$L! A0#%     @ 5X!O5&JV@W'@ P  @PX  !D
M     ("!0F$! 'AL+W=O<FMS:&5E=',O<VAE970U."YX;6Q02P$"% ,4
M" !7@&]4K\)_9N,"  #P"   &0              @(%990$ >&PO=V]R:W-H
M965T<R]S:&5E=#4Y+GAM;%!+ 0(4 Q0    ( %> ;U3LC!KQY@,   D-   9
M              " @7-H 0!X;"]W;W)K<VAE971S+W-H965T-C N>&UL4$L!
M A0#%     @ 5X!O5,0HN3K- P  I X  !D              ("!D&P! 'AL
M+W=O<FMS:&5E=',O<VAE970V,2YX;6Q02P$"% ,4    " !7@&]4-9^$E& #
M  !\"P  &0              @(&4< $ >&PO=V]R:W-H965T<R]S:&5E=#8R
M+GAM;%!+ 0(4 Q0    ( %> ;U2QV,KPG04  -8:   9              "
M@2MT 0!X;"]W;W)K<VAE971S+W-H965T-C,N>&UL4$L! A0#%     @ 5X!O
M5"?XL/BB @  70D  !D              ("!_WD! 'AL+W=O<FMS:&5E=',O
M<VAE970V-"YX;6Q02P$"% ,4    " !7@&]44;Q9RY4"  "#!P  &0
M        @('8? $ >&PO=V]R:W-H965T<R]S:&5E=#8U+GAM;%!+ 0(4 Q0
M   ( %> ;U0OG'!D\@(  ( )   9              " @:1_ 0!X;"]W;W)K
M<VAE971S+W-H965T-C8N>&UL4$L! A0#%     @ 5X!O5)03LM)R P  ]0L
M !D              ("!S8(! 'AL+W=O<FMS:&5E=',O<VAE970V-RYX;6Q0
M2P$"% ,4    " !7@&]4YI@WK\T"  "F!P  &0              @(%VA@$
M>&PO=V]R:W-H965T<R]S:&5E=#8X+GAM;%!+ 0(4 Q0    ( %> ;U2=^+&L
MP@(  (0)   9              " @7J) 0!X;"]W;W)K<VAE971S+W-H965T
M-CDN>&UL4$L! A0#%     @ 5X!O5%%X?UV$!   _A8  !D
M ("!<XP! 'AL+W=O<FMS:&5E=',O<VAE970W,"YX;6Q02P$"% ,4    " !7
M@&]4*O._$7P$  #]$P  &0              @($ND0$ >&PO=V]R:W-H965T
M<R]S:&5E=#<Q+GAM;%!+ 0(4 Q0    ( %> ;U3%T"'0C (  # '   9
M          " @>&5 0!X;"]W;W)K<VAE971S+W-H965T-S(N>&UL4$L! A0#
M%     @ 5X!O5)MI,%^1 P  HPX  !D              ("!I)@! 'AL+W=O
M<FMS:&5E=',O<VAE970W,RYX;6Q02P$"% ,4    " !7@&]4F#CCB$4"  "S
M!0  &0              @(%LG $ >&PO=V]R:W-H965T<R]S:&5E=#<T+GAM
M;%!+ 0(4 Q0    ( %> ;U19^1=\+@,   P+   9              " @>B>
M 0!X;"]W;W)K<VAE971S+W-H965T-S4N>&UL4$L! A0#%     @ 5X!O5)-W
M4(35!   *A@  !D              ("!3:(! 'AL+W=O<FMS:&5E=',O<VAE
M970W-BYX;6Q02P$"% ,4    " !7@&]4[=66)Z@"  #<!P  &0
M    @(%9IP$ >&PO=V]R:W-H965T<R]S:&5E=#<W+GAM;%!+ 0(4 Q0    (
M %> ;U1-0V:<? (  %\&   9              " @3BJ 0!X;"]W;W)K<VAE
M971S+W-H965T-S@N>&UL4$L! A0#%     @ 5X!O5(^HU%;Y @  X @  !D
M             ("!ZZP! 'AL+W=O<FMS:&5E=',O<VAE970W.2YX;6Q02P$"
M% ,4    " !7@&]4H>0?N:8"  "7!P  &0              @($;L $ >&PO
M=V]R:W-H965T<R]S:&5E=#@P+GAM;%!+ 0(4 Q0    ( %> ;U04QN(RJ@(
M ),'   9              " @?BR 0!X;"]W;W)K<VAE971S+W-H965T.#$N
M>&UL4$L! A0#%     @ 5X!O5/CQTQK^ @  ]0H  !D              ("!
MV;4! 'AL+W=O<FMS:&5E=',O<VAE970X,BYX;6Q02P$"% ,4    " !7@&]4
MH)_J<R0&   /'P  &0              @($.N0$ >&PO=V]R:W-H965T<R]S
M:&5E=#@S+GAM;%!+ 0(4 Q0    ( %> ;U3D*DK)$@(  %<$   9
M      " @6F_ 0!X;"]W;W)K<VAE971S+W-H965T.#0N>&UL4$L! A0#%
M  @ 5X!O5"8%JCTX P  T @  !D              ("!LL$! 'AL+W=O<FMS
M:&5E=',O<VAE970X-2YX;6Q02P$"% ,4    " !7@&]4\Z#"F$ #  #*"
M&0              @($AQ0$ >&PO=V]R:W-H965T<R]S:&5E=#@V+GAM;%!+
M 0(4 Q0    ( %> ;U0'C&9F* ,   P3   -              "  9C( 0!X
M;"]S='EL97,N>&UL4$L! A0#%     @ 5X!O5)>*NQS     $P(   L
M         ( !Z\L! %]R96QS+RYR96QS4$L! A0#%     @ 5X!O5/2<7X<\
M!@  73@   \              ( !U,P! 'AL+W=O<FMB;V]K+GAM;%!+ 0(4
M Q0    ( %> ;U12-<:CB@(  +DR   :              "  3W3 0!X;"]?
M<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( %> ;U2#T:P!+@(
M $0Q   3              "  ?_5 0!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%
3!@    !> %X R1D  %[8 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>230</ContextCount>
  <ElementCount>472</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>65</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0001001 - Document - Cover page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/Coverpage</Role>
      <ShortName>Cover page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>0002002 - Document - Audit Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/AuditInformation</Role>
      <ShortName>Audit Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1001003 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Uncategorized</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1002004 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1003005 - Statement - Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/ConsolidatedStatementsofOperations</Role>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1004006 - Statement - Consolidated Statements of Stockholders??? Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity</Role>
      <ShortName>Consolidated Statements of Stockholders??? Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>1005007 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>2101101 - Disclosure - Nature of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/NatureofOperations</Role>
      <ShortName>Nature of Operations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>2102102 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SummaryofSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>2110103 - Disclosure - Business Combination</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/BusinessCombination</Role>
      <ShortName>Business Combination</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>2115104 - Disclosure - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/PropertyandEquipment</Role>
      <ShortName>Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>2118105 - Disclosure - Software Development</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SoftwareDevelopment</Role>
      <ShortName>Software Development</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>2122106 - Disclosure - Other Accrued Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/OtherAccruedLiabilities</Role>
      <ShortName>Other Accrued Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>2125107 - Disclosure - Net Income Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/NetIncomePerShare</Role>
      <ShortName>Net Income Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>2128108 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>2134109 - Disclosure - Stock-Based Compensation and Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/StockBasedCompensationandEquity</Role>
      <ShortName>Stock-Based Compensation and Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>2139110 - Disclosure - Concentration of Credit Risk</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/ConcentrationofCreditRisk</Role>
      <ShortName>Concentration of Credit Risk</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>2140111 - Disclosure - Financing Receivables</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FinancingReceivables</Role>
      <ShortName>Financing Receivables</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>2149112 - Disclosure - Intangible Assets and Goodwill</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IntangibleAssetsandGoodwill</Role>
      <ShortName>Intangible Assets and Goodwill</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>2155113 - Disclosure - Long-Term Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/LongTermDebt</Role>
      <ShortName>Long-Term Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>2160114 - Disclosure - Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/BenefitPlans</Role>
      <ShortName>Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>2162115 - Disclosure - Operating Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/OperatingLeases</Role>
      <ShortName>Operating Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>2167116 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/CommitmentsandContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>2168117 - Disclosure - Fair Value</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FairValue</Role>
      <ShortName>Fair Value</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>2171118 - Disclosure - Segment Reporting</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SegmentReporting</Role>
      <ShortName>Segment Reporting</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>2174119 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>2176120 - Disclosure - COVID-19 Pandemic</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/COVID19Pandemic</Role>
      <ShortName>COVID-19 Pandemic</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>2177121 - Disclosure - Schedule II - Valuation and Qualifying Accounts</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccounts</Role>
      <ShortName>Schedule II - Valuation and Qualifying Accounts</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>2203201 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>2304301 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>2311302 - Disclosure - Business Combination (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/BusinessCombinationTables</Role>
      <ShortName>Business Combination (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/BusinessCombination</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>2316303 - Disclosure - Property and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/PropertyandEquipmentTables</Role>
      <ShortName>Property and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/PropertyandEquipment</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>2319304 - Disclosure - Software Development (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SoftwareDevelopmentTables</Role>
      <ShortName>Software Development (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/SoftwareDevelopment</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>2323305 - Disclosure - Other Accrued Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/OtherAccruedLiabilitiesTables</Role>
      <ShortName>Other Accrued Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/OtherAccruedLiabilities</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>2326306 - Disclosure - Net Income Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/NetIncomePerShareTables</Role>
      <ShortName>Net Income Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/NetIncomePerShare</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>2329307 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/IncomeTaxes</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>2335308 - Disclosure - Stock-Based Compensation and Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/StockBasedCompensationandEquityTables</Role>
      <ShortName>Stock-Based Compensation and Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/StockBasedCompensationandEquity</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>2341309 - Disclosure - Financing Receivables (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FinancingReceivablesTables</Role>
      <ShortName>Financing Receivables (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/FinancingReceivables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>2350310 - Disclosure - Intangible Assets and Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IntangibleAssetsandGoodwillTables</Role>
      <ShortName>Intangible Assets and Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/IntangibleAssetsandGoodwill</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>2356311 - Disclosure - Long-Term Debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/LongTermDebtTables</Role>
      <ShortName>Long-Term Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/LongTermDebt</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>2363312 - Disclosure - Operating Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/OperatingLeasesTables</Role>
      <ShortName>Operating Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/OperatingLeases</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>2369313 - Disclosure - Fair Value (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FairValueTables</Role>
      <ShortName>Fair Value (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/FairValue</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>2372314 - Disclosure - Segment Reporting (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SegmentReportingTables</Role>
      <ShortName>Segment Reporting (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/SegmentReporting</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>2405401 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>2406402 - Disclosure - Summary of Significant Accounting Policies - Amounts reclassified (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Amounts reclassified (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>2407403 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>2408404 - Disclosure - Summary of Significant Accounting Policies - Changes in Deferred Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Changes in Deferred Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>2409405 - Disclosure - Summary of Significant Accounting Policies - Changes in Capitalized Contract Cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinCapitalizedContractCostDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Changes in Capitalized Contract Cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>2412406 - Disclosure - Business Combination - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails</Role>
      <ShortName>Business Combination - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>2413407 - Disclosure - Business Combination - Preliminary allocation of the purchase price paid (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails</Role>
      <ShortName>Business Combination - Preliminary allocation of the purchase price paid (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>2414408 - Disclosure - Business Combination - Pro forma information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails</Role>
      <ShortName>Business Combination - Pro forma information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>2417409 - Disclosure - Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/PropertyandEquipmentDetails</Role>
      <ShortName>Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/PropertyandEquipmentTables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>2420410 - Disclosure - Software Development - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails</Role>
      <ShortName>Software Development - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>2421411 - Disclosure - Software Development - Schedule of Software development costs, net (Details) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails</Role>
      <ShortName>Software Development - Schedule of Software development costs, net (Details) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>2424412 - Disclosure - Other Accrued Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails</Role>
      <ShortName>Other Accrued Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/OtherAccruedLiabilitiesTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>2427413 - Disclosure - Net Income Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/NetIncomePerShareDetails</Role>
      <ShortName>Net Income Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/NetIncomePerShareTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>2430414 - Disclosure - Income Taxes - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails</Role>
      <ShortName>Income Taxes - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>2431415 - Disclosure - Income Taxes - Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails</Role>
      <ShortName>Income Taxes - Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>2432416 - Disclosure - Income Taxes - Significant Components of Income Tax Provision (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails</Role>
      <ShortName>Income Taxes - Significant Components of Income Tax Provision (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>2433417 - Disclosure - Income Taxes - Reconciliation to Federal Statutory Income Tax Rate (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails</Role>
      <ShortName>Income Taxes - Reconciliation to Federal Statutory Income Tax Rate (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>2436418 - Disclosure - Stock-Based Compensation and Equity - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails</Role>
      <ShortName>Stock-Based Compensation and Equity - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>2437419 - Disclosure - Stock-Based Compensation and Equity - Total Stock-Based Compensation Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails</Role>
      <ShortName>Stock-Based Compensation and Equity - Total Stock-Based Compensation Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>2438420 - Disclosure - Stock-Based Compensation and Equity - Summary of Activity Under Restricted and Performance Stock Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails</Role>
      <ShortName>Stock-Based Compensation and Equity - Summary of Activity Under Restricted and Performance Stock Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>2442421 - Disclosure - Financing Receivables - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails</Role>
      <ShortName>Financing Receivables - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>2443422 - Disclosure - Financing Receivables - Short-Term Payment Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails</Role>
      <ShortName>Financing Receivables - Short-Term Payment Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>2444423 - Disclosure - Financing Receivables - Components of Lease Receivables (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails</Role>
      <ShortName>Financing Receivables - Components of Lease Receivables (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>2445424 - Disclosure - Financing Receivables - Future Minimum Lease Payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails</Role>
      <ShortName>Financing Receivables - Future Minimum Lease Payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>2446425 - Disclosure - Financing Receivables - Allowance for Financing Credit Losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FinancingReceivablesAllowanceforFinancingCreditLossesDetails</Role>
      <ShortName>Financing Receivables - Allowance for Financing Credit Losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>2447426 - Disclosure - Financing Receivables - Analysis of Age of Financing Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails</Role>
      <ShortName>Financing Receivables - Analysis of Age of Financing Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>2448427 - Disclosure - Financing Receivables - Summary of Financing Receivables by Credit Quality Indicator (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails</Role>
      <ShortName>Financing Receivables - Summary of Financing Receivables by Credit Quality Indicator (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>2451428 - Disclosure - Intangible Assets and Goodwill - Definite-Lived Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails</Role>
      <ShortName>Intangible Assets and Goodwill - Definite-Lived Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>2452429 - Disclosure - Intangible Assets and Goodwill - Amortization (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails</Role>
      <ShortName>Intangible Assets and Goodwill - Amortization (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>2453430 - Disclosure - Intangible Assets and Goodwill - Schedule of Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails</Role>
      <ShortName>Intangible Assets and Goodwill - Schedule of Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>2454431 - Disclosure - Intangible Assets and Goodwill - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/IntangibleAssetsandGoodwillNarrativeDetails</Role>
      <ShortName>Intangible Assets and Goodwill - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>2457432 - Disclosure - Long-Term Debt - Schedule of Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails</Role>
      <ShortName>Long-Term Debt - Schedule of Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>2458433 - Disclosure - Long-Term Debt - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/LongTermDebtNarrativeDetails</Role>
      <ShortName>Long-Term Debt - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>2459434 - Disclosure - Long-Term Debt - Anticipated Annual Future Maturities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails</Role>
      <ShortName>Long-Term Debt - Anticipated Annual Future Maturities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>2461435 - Disclosure - Benefit Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/BenefitPlansDetails</Role>
      <ShortName>Benefit Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/BenefitPlans</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>2464436 - Disclosure - Operating Leases - Supplemental Balance Sheet Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails</Role>
      <ShortName>Operating Leases - Supplemental Balance Sheet Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>2465437 - Disclosure - Operating Leases - Future Minimum Lease Payments Payable Under these Operating Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails</Role>
      <ShortName>Operating Leases - Future Minimum Lease Payments Payable Under these Operating Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>2466438 - Disclosure - Operating Leases - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/OperatingLeasesNarrativeDetails</Role>
      <ShortName>Operating Leases - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>2470439 - Disclosure - Fair Value (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/FairValueDetails</Role>
      <ShortName>Fair Value (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/FairValueTables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>2473440 - Disclosure - Segment Reporting (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SegmentReportingDetails</Role>
      <ShortName>Segment Reporting (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/SegmentReportingTables</ParentRole>
      <Position>83</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>2475441 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/SubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cpsinet.com/role/SubsequentEvents</ParentRole>
      <Position>84</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>2478442 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Allowance for Doubtful Accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails</Role>
      <ShortName>Schedule II - Valuation and Qualifying Accounts - Allowance for Doubtful Accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="cpsi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>2479443 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Allowance for Credit Losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails</Role>
      <ShortName>Schedule II - Valuation and Qualifying Accounts - Allowance for Credit Losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" original="cpsi-20211231.htm">cpsi-20211231.htm</File>
    <File>a2021q4exhibit211.htm</File>
    <File>a2021q4exhibit231.htm</File>
    <File>a2021q4exhibit311.htm</File>
    <File>a2021q4exhibit312.htm</File>
    <File>a2021q4exhibit321.htm</File>
    <File>cpsi-20211231.xsd</File>
    <File>cpsi-20211231_cal.xml</File>
    <File>cpsi-20211231_def.xml</File>
    <File>cpsi-20211231_lab.xml</File>
    <File>cpsi-20211231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2021-01-31</BaseTaxonomy>
    <BaseTaxonomy items="977">http://fasb.org/us-gaap/2021-01-31</BaseTaxonomy>
    <BaseTaxonomy items="37">http://xbrl.sec.gov/dei/2021q4</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>105
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "cpsi-20211231.htm": {
   "axisCustom": 0,
   "axisStandard": 25,
   "contextCount": 230,
   "dts": {
    "calculationLink": {
     "local": [
      "cpsi-20211231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "cpsi-20211231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "cpsi-20211231.htm"
     ]
    },
    "labelLink": {
     "local": [
      "cpsi-20211231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cpsi-20211231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "cpsi-20211231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd",
      "https://xbrl.sec.gov/country/2021/country-2021.xsd",
      "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd"
     ]
    }
   },
   "elementCount": 603,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2021-01-31": 4,
    "http://www.cpsinet.com/20211231": 3,
    "http://xbrl.sec.gov/dei/2021q4": 4,
    "total": 11
   },
   "keyCustom": 39,
   "keyStandard": 433,
   "memberCustom": 18,
   "memberStandard": 47,
   "nsprefix": "cpsi",
   "nsuri": "http://www.cpsinet.com/20211231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "0001001 - Document - Cover page",
     "role": "http://www.cpsinet.com/role/Coverpage",
     "shortName": "Cover page",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2110103 - Disclosure - Business Combination",
     "role": "http://www.cpsinet.com/role/BusinessCombination",
     "shortName": "Business Combination",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2115104 - Disclosure - Property and Equipment",
     "role": "http://www.cpsinet.com/role/PropertyandEquipment",
     "shortName": "Property and Equipment",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2118105 - Disclosure - Software Development",
     "role": "http://www.cpsinet.com/role/SoftwareDevelopment",
     "shortName": "Software Development",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2122106 - Disclosure - Other Accrued Liabilities",
     "role": "http://www.cpsinet.com/role/OtherAccruedLiabilities",
     "shortName": "Other Accrued Liabilities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2125107 - Disclosure - Net Income Per Share",
     "role": "http://www.cpsinet.com/role/NetIncomePerShare",
     "shortName": "Net Income Per Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2128108 - Disclosure - Income Taxes",
     "role": "http://www.cpsinet.com/role/IncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2134109 - Disclosure - Stock-Based Compensation and Equity",
     "role": "http://www.cpsinet.com/role/StockBasedCompensationandEquity",
     "shortName": "Stock-Based Compensation and Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2139110 - Disclosure - Concentration of Credit Risk",
     "role": "http://www.cpsinet.com/role/ConcentrationofCreditRisk",
     "shortName": "Concentration of Credit Risk",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2140111 - Disclosure - Financing Receivables",
     "role": "http://www.cpsinet.com/role/FinancingReceivables",
     "shortName": "Financing Receivables",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2149112 - Disclosure - Intangible Assets and Goodwill",
     "role": "http://www.cpsinet.com/role/IntangibleAssetsandGoodwill",
     "shortName": "Intangible Assets and Goodwill",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:AuditorFirmId",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "false",
     "longName": "0002002 - Document - Audit Information",
     "role": "http://www.cpsinet.com/role/AuditInformation",
     "shortName": "Audit Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:AuditorFirmId",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2155113 - Disclosure - Long-Term Debt",
     "role": "http://www.cpsinet.com/role/LongTermDebt",
     "shortName": "Long-Term Debt",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2160114 - Disclosure - Benefit Plans",
     "role": "http://www.cpsinet.com/role/BenefitPlans",
     "shortName": "Benefit Plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2162115 - Disclosure - Operating Leases",
     "role": "http://www.cpsinet.com/role/OperatingLeases",
     "shortName": "Operating Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2167116 - Disclosure - Commitments and Contingencies",
     "role": "http://www.cpsinet.com/role/CommitmentsandContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2168117 - Disclosure - Fair Value",
     "role": "http://www.cpsinet.com/role/FairValue",
     "shortName": "Fair Value",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2171118 - Disclosure - Segment Reporting",
     "role": "http://www.cpsinet.com/role/SegmentReporting",
     "shortName": "Segment Reporting",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2174119 - Disclosure - Subsequent Events",
     "role": "http://www.cpsinet.com/role/SubsequentEvents",
     "shortName": "Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cpsi:CARESActTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2176120 - Disclosure - COVID-19 Pandemic",
     "role": "http://www.cpsinet.com/role/COVID19Pandemic",
     "shortName": "COVID-19 Pandemic",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cpsi:CARESActTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2177121 - Disclosure - Schedule II - Valuation and Qualifying Accounts",
     "role": "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccounts",
     "shortName": "Schedule II - Valuation and Qualifying Accounts",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2203201 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "role": "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1001003 - Statement - Consolidated Balance Sheets",
     "role": "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
     "shortName": "Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2304301 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "role": "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesTables",
     "shortName": "Summary of Significant Accounting Policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2311302 - Disclosure - Business Combination (Tables)",
     "role": "http://www.cpsinet.com/role/BusinessCombinationTables",
     "shortName": "Business Combination (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2316303 - Disclosure - Property and Equipment (Tables)",
     "role": "http://www.cpsinet.com/role/PropertyandEquipmentTables",
     "shortName": "Property and Equipment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cpsi:ScheduleOfSoftwareDevelopmentNetTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2319304 - Disclosure - Software Development (Tables)",
     "role": "http://www.cpsinet.com/role/SoftwareDevelopmentTables",
     "shortName": "Software Development (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cpsi:ScheduleOfSoftwareDevelopmentNetTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2323305 - Disclosure - Other Accrued Liabilities (Tables)",
     "role": "http://www.cpsinet.com/role/OtherAccruedLiabilitiesTables",
     "shortName": "Other Accrued Liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2326306 - Disclosure - Net Income Per Share (Tables)",
     "role": "http://www.cpsinet.com/role/NetIncomePerShareTables",
     "shortName": "Net Income Per Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2329307 - Disclosure - Income Taxes (Tables)",
     "role": "http://www.cpsinet.com/role/IncomeTaxesTables",
     "shortName": "Income Taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2335308 - Disclosure - Stock-Based Compensation and Equity (Tables)",
     "role": "http://www.cpsinet.com/role/StockBasedCompensationandEquityTables",
     "shortName": "Stock-Based Compensation and Equity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2341309 - Disclosure - Financing Receivables (Tables)",
     "role": "http://www.cpsinet.com/role/FinancingReceivablesTables",
     "shortName": "Financing Receivables (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2350310 - Disclosure - Intangible Assets and Goodwill (Tables)",
     "role": "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillTables",
     "shortName": "Intangible Assets and Goodwill (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1002004 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "role": "http://www.cpsinet.com/role/ConsolidatedBalanceSheetsParenthetical",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2356311 - Disclosure - Long-Term Debt (Tables)",
     "role": "http://www.cpsinet.com/role/LongTermDebtTables",
     "shortName": "Long-Term Debt (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cpsi:LeaseSupplementalBalanceSheetInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2363312 - Disclosure - Operating Leases (Tables)",
     "role": "http://www.cpsinet.com/role/OperatingLeasesTables",
     "shortName": "Operating Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cpsi:LeaseSupplementalBalanceSheetInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2369313 - Disclosure - Fair Value (Tables)",
     "role": "http://www.cpsinet.com/role/FairValueTables",
     "shortName": "Fair Value (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2372314 - Disclosure - Segment Reporting (Tables)",
     "role": "http://www.cpsinet.com/role/SegmentReportingTables",
     "shortName": "Segment Reporting (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2405401 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)",
     "role": "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails",
     "shortName": "Summary of Significant Accounting Policies - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:IntangibleAssetsFiniteLivedPolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "if8ccc001a0c048f79fe279167835d4c6_D20210101-20211231",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SellingAndMarketingExpense",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2406402 - Disclosure - Summary of Significant Accounting Policies - Amounts reclassified (Details)",
     "role": "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails",
     "shortName": "Summary of Significant Accounting Policies - Amounts reclassified (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i724b2edce52c456a99de6eb5015156e0_D20200101-20201231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:SellingAndMarketingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentUsefulLife",
       "span",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i4a38d9a2f80e47618c1cfa72f305d4a5_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2407403 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details)",
     "role": "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails",
     "shortName": "Summary of Significant Accounting Policies - Property and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentUsefulLife",
       "span",
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i4a38d9a2f80e47618c1cfa72f305d4a5_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iab40e2ac68884870b913789195bc317e_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2408404 - Disclosure - Summary of Significant Accounting Policies - Changes in Deferred Revenue (Details)",
     "role": "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails",
     "shortName": "Summary of Significant Accounting Policies - Changes in Deferred Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iade483e7d2224faaba6643c762704fb8_I20191231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:CapitalizedContractCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iab40e2ac68884870b913789195bc317e_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedContractCostNet",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2409405 - Disclosure - Summary of Significant Accounting Policies - Changes in Capitalized Contract Cost (Details)",
     "role": "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinCapitalizedContractCostDetails",
     "shortName": "Summary of Significant Accounting Policies - Changes in Capitalized Contract Cost (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:CapitalizedContractCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iade483e7d2224faaba6643c762704fb8_I20191231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:CapitalizedContractCostNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2412406 - Disclosure - Business Combination - Narrative (Details)",
     "role": "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails",
     "shortName": "Business Combination - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i3323119e0c3647b980f3599fd5055bd0_D20210512-20210512",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1003005 - Statement - Consolidated Statements of Operations",
     "role": "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
     "shortName": "Consolidated Statements of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:OperatingIncomeLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2413407 - Disclosure - Business Combination - Preliminary allocation of the purchase price paid (Details)",
     "role": "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails",
     "shortName": "Business Combination - Preliminary allocation of the purchase price paid (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i124c345d253b4bccaa47961637d8d63d_I20210512",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i6565462584164257bb0d8fa000bb0700_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2414408 - Disclosure - Business Combination - Pro forma information (Details)",
     "role": "http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails",
     "shortName": "Business Combination - Pro forma information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:BusinessAcquisitionProFormaInformationTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i6565462584164257bb0d8fa000bb0700_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessAcquisitionsProFormaRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2417409 - Disclosure - Property and Equipment (Details)",
     "role": "http://www.cpsinet.com/role/PropertyandEquipmentDetails",
     "shortName": "Property and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareAdditions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2420410 - Disclosure - Software Development - Narrative (Details)",
     "role": "http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails",
     "shortName": "Software Development - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareAdditions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "cpsi:ScheduleOfSoftwareDevelopmentNetTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2421411 - Disclosure - Software Development - Schedule of Software development costs, net (Details) (Details)",
     "role": "http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails",
     "shortName": "Software Development - Schedule of Software development costs, net (Details) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "cpsi:ScheduleOfSoftwareDevelopmentNetTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CapitalizedComputerSoftwareGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccruedSalariesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2424412 - Disclosure - Other Accrued Liabilities (Details)",
     "role": "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails",
     "shortName": "Other Accrued Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccruedSalariesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2427413 - Disclosure - Net Income Per Share (Details)",
     "role": "http://www.cpsinet.com/role/NetIncomePerShareDetails",
     "shortName": "Net Income Per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
       "span",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2430414 - Disclosure - Income Taxes - Narrative (Details)",
     "role": "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails",
     "shortName": "Income Taxes - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
       "span",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "cpsi:DeferredTaxAssetsAccountsReceivableandFinancingReceivables",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2431415 - Disclosure - Income Taxes - Deferred Tax Assets and Liabilities (Details)",
     "role": "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails",
     "shortName": "Income Taxes - Deferred Tax Assets and Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "cpsi:DeferredTaxAssetsAccountsReceivableandFinancingReceivables",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2432416 - Disclosure - Income Taxes - Significant Components of Income Tax Provision (Details)",
     "role": "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails",
     "shortName": "Income Taxes - Significant Components of Income Tax Provision (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i6289b71ef8884ed18903d1e7e8697572_I20181231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharesIssued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1004006 - Statement - Consolidated Statements of Stockholders\u2019 Equity",
     "role": "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity",
     "shortName": "Consolidated Statements of Stockholders\u2019 Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i6289b71ef8884ed18903d1e7e8697572_I20181231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharesIssued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2433417 - Disclosure - Income Taxes - Reconciliation to Federal Statutory Income Tax Rate (Details)",
     "role": "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails",
     "shortName": "Income Taxes - Reconciliation to Federal Statutory Income Tax Rate (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockCapitalSharesReservedForFutureIssuance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2436418 - Disclosure - Stock-Based Compensation and Equity - Narrative (Details)",
     "role": "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails",
     "shortName": "Stock-Based Compensation and Equity - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockCapitalSharesReservedForFutureIssuance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2437419 - Disclosure - Stock-Based Compensation and Equity - Total Stock-Based Compensation Expense (Details)",
     "role": "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails",
     "shortName": "Stock-Based Compensation and Equity - Total Stock-Based Compensation Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "if7bc0fdebc8b4555bb10cb1c47f7ee1f_I20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2438420 - Disclosure - Stock-Based Compensation and Equity - Summary of Activity Under Restricted and Performance Stock Plans (Details)",
     "role": "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails",
     "shortName": "Stock-Based Compensation and Equity - Summary of Activity Under Restricted and Performance Stock Plans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i9c9a51c90657471da0d4ed406f6f44eb_I20181231",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i97294598b55e4a169139e60c6100574a_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cpsi:FinancingReceivableTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2442421 - Disclosure - Financing Receivables - Narrative (Details)",
     "role": "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails",
     "shortName": "Financing Receivables - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i97294598b55e4a169139e60c6100574a_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cpsi:FinancingReceivableTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NotesAndLoansReceivableNetCurrent",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2443422 - Disclosure - Financing Receivables - Short-Term Payment Plans (Details)",
     "role": "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails",
     "shortName": "Financing Receivables - Short-Term Payment Plans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i96cce644b5b541e3ab151b39dd56fea8_I20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:NotesAndLoansReceivableGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancingReceivableAllowanceForCreditLosses",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2444423 - Disclosure - Financing Receivables - Components of Lease Receivables (Details)",
     "role": "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails",
     "shortName": "Financing Receivables - Components of Lease Receivables (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "ie066d5ddf8a942c6b4ea6830db9f524e_I20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:NotesReceivableGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancingReceivableAllowanceForCreditLosses",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2445424 - Disclosure - Financing Receivables - Future Minimum Lease Payments (Details)",
     "role": "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails",
     "shortName": "Financing Receivables - Future Minimum Lease Payments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "ie066d5ddf8a942c6b4ea6830db9f524e_I20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iab40e2ac68884870b913789195bc317e_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinancingReceivableAllowanceForCreditLosses",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2446425 - Disclosure - Financing Receivables - Allowance for Financing Credit Losses (Details)",
     "role": "http://www.cpsinet.com/role/FinancingReceivablesAllowanceforFinancingCreditLossesDetails",
     "shortName": "Financing Receivables - Allowance for Financing Credit Losses (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ProvisionForLoanLossesExpensed",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i394e0c51c5204c65ba3c50821206516f_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NotesReceivableGross",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2447426 - Disclosure - Financing Receivables - Analysis of Age of Financing Receivable (Details)",
     "role": "http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails",
     "shortName": "Financing Receivables - Analysis of Age of Financing Receivable (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1005007 - Statement - Consolidated Statements of Cash Flows",
     "role": "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows",
     "shortName": "Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "cpsi:FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2448427 - Disclosure - Financing Receivables - Summary of Financing Receivables by Credit Quality Indicator (Details)",
     "role": "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails",
     "shortName": "Financing Receivables - Summary of Financing Receivables by Credit Quality Indicator (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "cpsi:FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iab40e2ac68884870b913789195bc317e_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2451428 - Disclosure - Intangible Assets and Goodwill - Definite-Lived Intangible Assets (Details)",
     "role": "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails",
     "shortName": "Intangible Assets and Goodwill - Definite-Lived Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iab40e2ac68884870b913789195bc317e_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2452429 - Disclosure - Intangible Assets and Goodwill - Amortization (Details)",
     "role": "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails",
     "shortName": "Intangible Assets and Goodwill - Amortization (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iab40e2ac68884870b913789195bc317e_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2453430 - Disclosure - Intangible Assets and Goodwill - Schedule of Goodwill (Details)",
     "role": "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails",
     "shortName": "Intangible Assets and Goodwill - Schedule of Goodwill (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:GoodwillAcquiredDuringPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillImpairmentLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2454431 - Disclosure - Intangible Assets and Goodwill - Narrative (Details)",
     "role": "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillNarrativeDetails",
     "shortName": "Intangible Assets and Goodwill - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredFinanceCostsNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2457432 - Disclosure - Long-Term Debt - Schedule of Debt (Details)",
     "role": "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails",
     "shortName": "Long-Term Debt - Schedule of Debt (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredFinanceCostsNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iab3e980571b74fb994aa2a980e2a354a_I20200616",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "cpsi:LineofCreditFacilityAccordionFeatureIncreaseLimit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2458433 - Disclosure - Long-Term Debt - Narrative (Details)",
     "role": "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
     "shortName": "Long-Term Debt - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iab3e980571b74fb994aa2a980e2a354a_I20200616",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "cpsi:LineofCreditFacilityAccordionFeatureIncreaseLimit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebt",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2459434 - Disclosure - Long-Term Debt - Anticipated Annual Future Maturities (Details)",
     "role": "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails",
     "shortName": "Long-Term Debt - Anticipated Annual Future Maturities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i7774a291616745f2b99a10cb9fe514c4_I20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i61573d36a5d94d7c929e3392a7bb1697_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "cpsi:DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2461435 - Disclosure - Benefit Plans (Details)",
     "role": "http://www.cpsinet.com/role/BenefitPlansDetails",
     "shortName": "Benefit Plans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i61573d36a5d94d7c929e3392a7bb1697_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "cpsi:DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2464436 - Disclosure - Operating Leases - Supplemental Balance Sheet Information (Details)",
     "role": "http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails",
     "shortName": "Operating Leases - Supplemental Balance Sheet Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "cpsi:LeaseSupplementalBalanceSheetInformationTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": null,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2101101 - Disclosure - Nature of Operations",
     "role": "http://www.cpsinet.com/role/NatureofOperations",
     "shortName": "Nature of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2465437 - Disclosure - Operating Leases - Future Minimum Lease Payments Payable Under these Operating Leases (Details)",
     "role": "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails",
     "shortName": "Operating Leases - Future Minimum Lease Payments Payable Under these Operating Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iee1578436de542c7a4e1e1acd9b621c1_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i2c75fe23fc704fd29b033637c890a68a_I20210728",
      "decimals": "0",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AreaOfRealEstateProperty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "sqft",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2466438 - Disclosure - Operating Leases - Narrative (Details)",
     "role": "http://www.cpsinet.com/role/OperatingLeasesNarrativeDetails",
     "shortName": "Operating Leases - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i2c75fe23fc704fd29b033637c890a68a_I20210728",
      "decimals": "0",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AreaOfRealEstateProperty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "sqft",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i74355865c0724ca39a307223f41d7961_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2470439 - Disclosure - Fair Value (Details)",
     "role": "http://www.cpsinet.com/role/FairValueDetails",
     "shortName": "Fair Value (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i74355865c0724ca39a307223f41d7961_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NumberOfOperatingSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "segment",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2473440 - Disclosure - Segment Reporting (Details)",
     "role": "http://www.cpsinet.com/role/SegmentReportingDetails",
     "shortName": "Segment Reporting (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NumberOfOperatingSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "segment",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i8058d01dccac498f872f7e6ff309021b_D20220301-20220301",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2475441 - Disclosure - Subsequent Events (Details)",
     "role": "http://www.cpsinet.com/role/SubsequentEventsDetails",
     "shortName": "Subsequent Events (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i8058d01dccac498f872f7e6ff309021b_D20220301-20220301",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R85": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "iafa093836b8a4b1894776ab8850014fe_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2478442 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Allowance for Doubtful Accounts (Details)",
     "role": "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails",
     "shortName": "Schedule II - Valuation and Qualifying Accounts - Allowance for Doubtful Accounts (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i9f318f4174c44b08bf9c6fd34db63b56_I20181231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R86": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i7a9283acfbf843a6afb93ca0a5acd410_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2479443 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Allowance for Credit Losses (Details)",
     "role": "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails",
     "shortName": "Schedule II - Valuation and Qualifying Accounts - Allowance for Credit Losses (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i8e26f510fe624e779ee96e79177b2314_I20181231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2102102 - Disclosure - Summary of Significant Accounting Policies",
     "role": "http://www.cpsinet.com/role/SummaryofSignificantAccountingPolicies",
     "shortName": "Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpsi-20211231.htm",
      "contextRef": "i0fb7f6a27b29428a8c755828e0e76033_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 65,
   "tag": {
    "cpsi_AccruedSeveranceCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued Severance, Current",
        "label": "Accrued Severance, Current",
        "terseLabel": "Severance"
       }
      }
     },
     "localname": "AccruedSeveranceCurrent",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_AcuteCareMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Acute Care [Member]",
        "label": "Acute Care [Member]",
        "terseLabel": "Acute Care EHR",
        "verboseLabel": "Acute Care EHR"
       }
      }
     },
     "localname": "AcuteCareMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_AllowanceForCreditLossesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allowance For Credit Losses [Member]",
        "label": "Allowance For Credit Losses [Member]",
        "terseLabel": "Allowance for credit losses deducted from financing receivables in the balance sheet"
       }
      }
     },
     "localname": "AllowanceForCreditLossesMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_AmendedAndRestatedCreditAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amended and Restated Credit Agreement",
        "label": "Amended and Restated Credit Agreement [Member]",
        "terseLabel": "Amended and Restated Credit Agreement"
       }
      }
     },
     "localname": "AmendedAndRestatedCreditAgreementMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_AuditInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Audit Information [Abstract]",
        "label": "Audit Information [Abstract]"
       }
      }
     },
     "localname": "AuditInformationAbstract",
     "nsuri": "http://www.cpsinet.com/20211231",
     "xbrltype": "stringItemType"
    },
    "cpsi_BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 11.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination, Recognized Identifiable Asset Acquired and Liability Assumed, Operating Lease, Asset",
        "label": "Business Combination, Recognized Identifiable Asset Acquired and Liability Assumed, Operating Lease, Asset",
        "terseLabel": "Operating lease asset"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseAsset",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed, Contract With Customer, Liability",
        "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed, Contract With Customer, Liability",
        "negatedTerseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContractWithCustomerLiability",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_BusinessManagementConsultingandManagedITServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Management Consulting and Managed IT Services [Member]",
        "label": "Business Management Consulting and Managed IT Services [Member]",
        "verboseLabel": "TruBridge"
       }
      }
     },
     "localname": "BusinessManagementConsultingandManagedITServicesMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_CARESActTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "CARES Act",
        "label": "CARES Act [Text Block]",
        "terseLabel": "COVID-19 Pandemic"
       }
      }
     },
     "localname": "CARESActTextBlock",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/COVID19Pandemic"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cpsi_CPSI401kRetirementPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "CPSI 401(k) Retirement Plan [Member]",
        "label": "CPSI 401(k) Retirement Plan [Member]",
        "terseLabel": "CPSI 401(k) Retirement Plan"
       }
      }
     },
     "localname": "CPSI401kRetirementPlanMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/BenefitPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_ChangeInCapitalizedContractCostRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "",
        "label": "Change In Capitalized Contract Cost [Roll Forward]",
        "terseLabel": "Change In Capitalized Contract Cost [Heading Roll Forward]"
       }
      }
     },
     "localname": "ChangeInCapitalizedContractCostRollForward",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinCapitalizedContractCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cpsi_ChangeInContractWithCustomerLiabilityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "",
        "label": "Change In Contract With Customer, Liability [Roll Forward]",
        "terseLabel": "Change In Contract With Customer, Liability [Heading Roll Forward]"
       }
      }
     },
     "localname": "ChangeInContractWithCustomerLiabilityRollForward",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cpsi_ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract With Customer Liability, Including New Contract Revenue, Recognized",
        "label": "Contract With Customer Liability, Including New Contract Revenue, Recognized",
        "negatedTerseLabel": "Less deferred revenue recognized as revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityIncludingNewContractRevenueRecognized",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_ContractWithCustomerLiabilityPeriodIncreaseDecrease": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "",
        "label": "Contract With Customer Liability, Period Increase (Decrease)",
        "terseLabel": "Deferred revenue recorded"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityPeriodIncreaseDecrease",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_CostsToObtainAndFulfillContractsCapitalized": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "",
        "label": "Costs To Obtain And Fulfill Contracts Capitalized",
        "terseLabel": "Costs to obtain and fulfill contracts capitalized"
       }
      }
     },
     "localname": "CostsToObtainAndFulfillContractsCapitalized",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinCapitalizedContractCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Covenant, Prepayment Amount from Excess Cash Flow, Percentage",
        "label": "Debt Instrument, Covenant, Prepayment Amount from Excess Cash Flow, Percentage",
        "terseLabel": "Prepayment amount from excess cash flow"
       }
      }
     },
     "localname": "DebtInstrumentCovenantPrepaymentAmountfromExcessCashFlowPercentage",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cpsi_DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Compensation Arrangement With Individual Employee Contribution Percentage Maximum",
        "label": "Deferred Compensation Arrangement With Individual Employee Contribution Percentage Maximum",
        "terseLabel": "Employee contribution (up to)"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualEmployeeContributionPercentageMaximum",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/BenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cpsi_DeferredTaxAssetsAccountsReceivableandFinancingReceivables": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Assets Accounts Receivable and Financing Receivables",
        "label": "Deferred Tax Assets Accounts Receivable and Financing Receivables",
        "terseLabel": "Accounts receivable and financing receivables"
       }
      }
     },
     "localname": "DeferredTaxAssetsAccountsReceivableandFinancingReceivables",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_DeferredTaxAssetsAccruedVacation": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred tax assets accrued vacation.",
        "label": "Deferred Tax Assets Accrued Vacation",
        "terseLabel": "Accrued vacation"
       }
      }
     },
     "localname": "DeferredTaxAssetsAccruedVacation",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_EarningsPerShareBasicDenominatorAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earnings Per Share, Basic, Denominator [Abstract]",
        "label": "Earnings Per Share, Basic, Denominator [Abstract]",
        "terseLabel": "Denominator"
       }
      }
     },
     "localname": "EarningsPerShareBasicDenominatorAbstract",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cpsi_EarningsPerShareBasicNumeratorAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earnings Per Share, Basic, Numerator [Abstract]",
        "label": "Earnings Per Share, Basic, Numerator [Abstract]",
        "terseLabel": "Numerator"
       }
      }
     },
     "localname": "EarningsPerShareBasicNumeratorAbstract",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cpsi_EarningsPerShareDilutedDenominatorAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earnings Per Share, Diluted, Denominator [Abstract]",
        "label": "Earnings Per Share, Diluted, Denominator [Abstract]",
        "terseLabel": "Denominator"
       }
      }
     },
     "localname": "EarningsPerShareDilutedDenominatorAbstract",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cpsi_EarningsPerShareDilutedNumeratorAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earnings Per Share, Diluted, Numerator [Abstract]",
        "label": "Earnings Per Share, Diluted, Numerator [Abstract]",
        "terseLabel": "Numerator"
       }
      }
     },
     "localname": "EarningsPerShareDilutedNumeratorAbstract",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cpsi_EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Measurement Period Adjustment, Increase (Decrease) in Effective Tax Rate",
        "label": "Effective Income Tax Rate Reconciliation, Measurement Period Adjustment, Increase (Decrease) in Effective Tax Rate",
        "terseLabel": "Impact to effective rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationMeasurementPeriodAdjustmentIncreaseDecreaseinEffectiveTaxRate",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cpsi_EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Provision To Return Adjustments, Increase (Decrease) in Effective Tax Rate",
        "label": "Effective Income Tax Rate Reconciliation, Provision To Return Adjustments, Increase (Decrease) in Effective Tax Rate",
        "negatedTerseLabel": "Decrease in effective tax rate because of the provision to return adjustments"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationProvisionToReturnAdjustmentsIncreaseDecreaseInEffectiveTaxRate",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cpsi_EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Share-based Compensation Arrangement, Increase (Decrease) in Effective Tax Rate",
        "label": "Effective Income Tax Rate Reconciliation, Share-based Compensation Arrangement, Increase (Decrease) in Effective Tax Rate",
        "negatedTerseLabel": "Decrease in effective tax rate for tax shortfalls related to stock-based compensation arrangements"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationArrangementIncreaseDecreaseInEffectiveTaxRate",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "cpsi_EffectiveIncomeTaxRateReconciliationTransactionCosts": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Transaction Costs",
        "label": "Effective Income Tax Rate Reconciliation, Transaction Costs",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTransactionCosts",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective Income Tax Reconciliation, Nondeductible Expense, Section 162(m) Limitation",
        "label": "Effective Income Tax Reconciliation, Nondeductible Expense, Section 162(m) Limitation",
        "terseLabel": "Non-deductible compensation - 162(m)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxReconciliationNondeductibleExpenseSection162mLimitation",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_FinancialAsset181OrMoreDaysPastDueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial Asset, 181 Or More Days Past Due",
        "label": "Financial Asset, 181 Or More Days Past Due [Member]",
        "terseLabel": "181 + Days Past Due"
       }
      }
     },
     "localname": "FinancialAsset181OrMoreDaysPastDueMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_FinancialAsset1To90DaysPastDueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Asset, 1 To 90 Days Past Due [Member]",
        "terseLabel": "1 to 90 Days Past Due"
       }
      }
     },
     "localname": "FinancialAsset1To90DaysPastDueMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_FinancialAsset91To180DaysPastDueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial Asset, 91 To 180 Days Past Due",
        "label": "Financial Asset, 91 To 180 Days Past Due [Member]",
        "terseLabel": "91\u00a0to\u00a0180\u00a0Days Past Due"
       }
      }
     },
     "localname": "FinancialAsset91To180DaysPastDueMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_FinancingReceivableCreditQualityIndicatorsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing Receivable Credit Quality Indicators [Abstract]",
        "label": "Financing Receivable Credit Quality Indicators [Abstract]",
        "terseLabel": "Customer balances with amounts reclassified to trade accounts receivable that are:"
       }
      }
     },
     "localname": "FinancingReceivableCreditQualityIndicatorsAbstract",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "cpsi_FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing Receivable Credit Quality Loans With Contractual Maturities Of One Year Or Less",
        "label": "Financing Receivable Credit Quality Loans With Contractual Maturities Of One Year Or Less",
        "terseLabel": "Total financing receivables with contractual maturities of one year or less"
       }
      }
     },
     "localname": "FinancingReceivableCreditQualityLoansWithContractualMaturitiesOfOneYearOrLess",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_FinancingReceivableTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing Receivable, Term",
        "label": "Financing Receivable, Term",
        "terseLabel": "Receivable term"
       }
      }
     },
     "localname": "FinancingReceivableTerm",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cpsi_FinancingReceivablesPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing Receivables Policy [Text Block]",
        "label": "Financing Receivables Policy [Policy Text Block]",
        "terseLabel": "Financing Receivables"
       }
      }
     },
     "localname": "FinancingReceivablesPolicyPolicyTextBlock",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cpsi_HealthcareResourceGroupIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Healthcare Resource Group, Inc.",
        "label": "Healthcare Resource Group, Inc. [Member]",
        "terseLabel": "Healthcare Resource Group, Inc."
       }
      }
     },
     "localname": "HealthcareResourceGroupIncMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_IncreaseDecreaseInCapitalizedSoftwareCosts": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (Decrease) In Capitalized Software Costs",
        "label": "Increase (Decrease) In Capitalized Software Costs",
        "terseLabel": "Increase in capitalized software development costs"
       }
      }
     },
     "localname": "IncreaseDecreaseInCapitalizedSoftwareCosts",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_IncreaseDecreaseToProductDevelopmentCosts": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (Decrease) To Product Development Costs",
        "label": "Increase (Decrease) To Product Development Costs",
        "negatedTerseLabel": "Decrease in product development costs"
       }
      }
     },
     "localname": "IncreaseDecreaseToProductDevelopmentCosts",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Internal Use Software, Policy And Software to be Sold, Leased, or Otherwise Marketed, Policy",
        "label": "Internal Use Software, Policy And Software to be Sold, Leased, or Otherwise Marketed, Policy [Policy Text Block]",
        "terseLabel": "Software Development Costs"
       }
      }
     },
     "localname": "InternalUseSoftwarePolicyAndSoftwareToBeSoldLeasedOrOtherwiseMarketedPolicyPolicyTextBlock",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cpsi_LeaseSupplementalBalanceSheetInformationTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease, Supplemental Balance Sheet Information",
        "label": "Lease, Supplemental Balance Sheet Information [Table Text Block]",
        "terseLabel": "Supplemental Balance Sheet Information"
       }
      }
     },
     "localname": "LeaseSupplementalBalanceSheetInformationTableTextBlock",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cpsi_LineofCreditFacilityAccordionFeatureIncreaseLimit": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit Facility, Accordion Feature, Increase Limit",
        "label": "Line of Credit Facility, Accordion Feature, Increase Limit",
        "terseLabel": "Line of credit facility, incremental facility capacity"
       }
      }
     },
     "localname": "LineofCreditFacilityAccordionFeatureIncreaseLimit",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_LongTermDebtCovenantConsolidatedLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long Term Debt Covenant Consolidated Leverage Ratio",
        "label": "Long Term Debt Covenant Consolidated Leverage Ratio",
        "terseLabel": "Consolidated leverage ratio"
       }
      }
     },
     "localname": "LongTermDebtCovenantConsolidatedLeverageRatio",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "cpsi_LongTermDebtCovenantConsolidatedLeverageRatioMaximum": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-Term Debt, Covenant, Consolidated Leverage Ratio, Maximum",
        "label": "Long-Term Debt, Covenant, Consolidated Leverage Ratio, Maximum",
        "terseLabel": "Maximum consolidated leverage ratio"
       }
      }
     },
     "localname": "LongTermDebtCovenantConsolidatedLeverageRatioMaximum",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "cpsi_LongTermDebtCovenantFixedChargeCoverageRatioMinimum": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-Term Debt, Covenant, Fixed Charge Coverage Ratio, Minimum",
        "label": "Long-Term Debt, Covenant, Fixed Charge Coverage Ratio, Minimum",
        "terseLabel": "Minimum fixed charge coverage ratio"
       }
      }
     },
     "localname": "LongTermDebtCovenantFixedChargeCoverageRatioMinimum",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "cpsi_LongTermDebtMaturityAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-Term Debt, Maturity, After Year Four",
        "label": "Long-Term Debt, Maturity, After Year Four",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LongTermDebtMaturityAfterYearFour",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_LongTermFinancingArrangementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-Term Financing Arrangement",
        "label": "Long-Term Financing Arrangement [Member]",
        "terseLabel": "Long-Term Financing Arrangement"
       }
      }
     },
     "localname": "LongTermFinancingArrangementMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_PaymentsOnEarlyTerminationOfLease": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments On Early Termination Of Lease",
        "label": "Payments On Early Termination Of Lease",
        "terseLabel": "Payments on early termination of lease"
       }
      }
     },
     "localname": "PaymentsOnEarlyTerminationOfLease",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_PaymentsofContingentConsideration": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments of Contingent Consideration",
        "label": "Payments of Contingent Consideration",
        "negatedTerseLabel": "Payments of contingent consideration"
       }
      }
     },
     "localname": "PaymentsofContingentConsideration",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_PostAcuteCareMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Post-Acute Care [Member]",
        "label": "Post-Acute Care [Member]",
        "terseLabel": "Post-acute Care EHR",
        "verboseLabel": "Post-acute Care EHR"
       }
      }
     },
     "localname": "PostAcuteCareMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails",
      "http://www.cpsinet.com/role/SegmentReportingDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_ProvisionToReturnAdjustments": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Provision-to-return adjustments.",
        "label": "Provision To Return Adjustments",
        "negatedLabel": "Provision-to-return adjustments"
       }
      }
     },
     "localname": "ProvisionToReturnAdjustments",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_RevenuePerformanceObligationDescriptionOfTiming1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue Performance Obligation, Description of Timing1",
        "label": "Revenue Performance Obligation, Description of Timing1",
        "terseLabel": "Revenue performance obligation, description of timing"
       }
      }
     },
     "localname": "RevenuePerformanceObligationDescriptionOfTiming1",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "cpsi_ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of components of lease receivables.",
        "label": "Schedule Of Components Of Lease Receivables Table [Table Text Block]",
        "terseLabel": "Components of Lease Receivables"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfLeaseReceivablesTableTableTextBlock",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cpsi_ScheduleOfSoftwareDevelopmentNetTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of Software Development, Net",
        "label": "Schedule Of Software Development, Net [Table Text Block]",
        "terseLabel": "Schedule of software development, net"
       }
      }
     },
     "localname": "ScheduleOfSoftwareDevelopmentNetTableTextBlock",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SoftwareDevelopmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Actual Performance, Net Of Forfeitures In Period",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Actual Performance, Net Of Forfeitures In Period",
        "terseLabel": "Forfeited or unearned (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresInPeriod",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "cpsi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Actual Performance, Net Of Forfeitures, Weighted-Average Grant Date Fair Value",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Actual Performance, Net Of Forfeitures, Weighted-Average Grant Date Fair Value",
        "terseLabel": "Forfeited or unearned (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsActualPerformanceNetOfForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Conversions in Period",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Conversions in Period",
        "terseLabel": "Performance share awards converted to restricted stock"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriod",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "cpsi_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Conversions in Period, Weighted Average Grant Date Fair Value",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Conversions in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Performance share awards converted to restricted stock (in dollars per share)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsConversionsinPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "cpsi_ShortTermPaymentPlansMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Short-Term Payment Plans [Member]",
        "label": "Short-Term Payment Plans [Member]",
        "terseLabel": "Short-term payment plans, gross"
       }
      }
     },
     "localname": "ShortTermPaymentPlansMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_SystemSalesAndSupportRevenueRecurringMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "System Sales And Support Revenue Recurring",
        "label": "System Sales And Support Revenue Recurring [Member]",
        "terseLabel": "Recurring revenue"
       }
      }
     },
     "localname": "SystemSalesAndSupportRevenueRecurringMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_SystemsSalesAndSupportRevenueNonrecurringMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Systems Sales And Support Revenue Nonrecurring",
        "label": "Systems Sales And Support Revenue Nonrecurring [Member]",
        "terseLabel": "Non-recurring revenue"
       }
      }
     },
     "localname": "SystemsSalesAndSupportRevenueNonrecurringMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_TermLoanFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term Loan Facility [Member]",
        "label": "Term Loan Facility [Member]",
        "terseLabel": "Term loan facility"
       }
      }
     },
     "localname": "TermLoanFacilityMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_TruBridgeRycanandOtherOutsourcingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "TruBridge, Rycan, and Other Outsourcing [Member]",
        "label": "TruBridge, Rycan, and Other Outsourcing [Member]",
        "terseLabel": "TruBridge"
       }
      }
     },
     "localname": "TruBridgeRycanandOtherOutsourcingMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_TruCodeLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "TruCode LLC",
        "label": "TruCode LLC [Member]",
        "terseLabel": "TruCode LLC"
       }
      }
     },
     "localname": "TruCodeLLCMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails",
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails",
      "http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cpsi_WriteOffOfFullyDepreciatedAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Write-off of fully depreciated assets.",
        "label": "Write Off Of Fully Depreciated Assets",
        "terseLabel": "Write-off of fully depreciated assets"
       }
      }
     },
     "localname": "WriteOffOfFullyDepreciatedAssets",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cpsi_iNetXpertsCorpMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "iNetXperts, Corp.",
        "label": "iNetXperts, Corp. [Member]",
        "terseLabel": "iNetXperts, Corp."
       }
      }
     },
     "localname": "iNetXpertsCorpMember",
     "nsuri": "http://www.cpsinet.com/20211231",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails",
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r686",
      "r687",
      "r688"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID",
        "terseLabel": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/AuditInformation"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r686",
      "r687",
      "r688"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location",
        "terseLabel": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/AuditInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r686",
      "r687",
      "r688"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name",
        "terseLabel": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/AuditInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r686",
      "r687",
      "r688"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report",
        "terseLabel": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r689"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r684"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]",
        "terseLabel": "Documents Incorporated by Reference"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r704"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float",
        "terseLabel": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r683"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers",
        "terseLabel": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r718"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer",
        "terseLabel": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r686",
      "r687",
      "r688"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag",
        "terseLabel": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r682"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r685"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.cpsinet.com/role/Coverpage"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r104",
      "r172",
      "r191",
      "r192",
      "r193",
      "r194",
      "r196",
      "r198",
      "r202",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r314",
      "r315",
      "r317",
      "r319",
      "r320",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by components, eliminations, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments.",
        "label": "Consolidation Items [Axis]",
        "terseLabel": "Consolidation Items [Axis]"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails",
      "http://www.cpsinet.com/role/SegmentReportingDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [
      "r104",
      "r172",
      "r191",
      "r192",
      "r193",
      "r194",
      "r196",
      "r198",
      "r202",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r314",
      "r315",
      "r317",
      "r319",
      "r320",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components, elimination, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments.",
        "label": "Consolidation Items [Domain]",
        "terseLabel": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails",
      "http://www.cpsinet.com/role/SegmentReportingDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r325",
      "r359",
      "r461",
      "r468",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r658",
      "r660",
      "r675",
      "r676"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Upper limit of the provided range.",
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r325",
      "r359",
      "r461",
      "r468",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r658",
      "r660",
      "r675",
      "r676"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lower limit of the provided range.",
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r205",
      "r381",
      "r383",
      "r626",
      "r657",
      "r659"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by product and service, or group of similar products and similar services.",
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r205",
      "r381",
      "r383",
      "r626",
      "r657",
      "r659"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product or service, or a group of similar products or similar services.",
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r325",
      "r359",
      "r407",
      "r461",
      "r468",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r658",
      "r660",
      "r675",
      "r676"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Range [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r325",
      "r359",
      "r407",
      "r461",
      "r468",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r658",
      "r660",
      "r675",
      "r676"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Range [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RestatementAxis": {
     "auth_ref": [
      "r1",
      "r113",
      "r114",
      "r115",
      "r116",
      "r117",
      "r119",
      "r120",
      "r121",
      "r122",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r150",
      "r227",
      "r228",
      "r491",
      "r521",
      "r561",
      "r562",
      "r563",
      "r564",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r719",
      "r720"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision.",
        "label": "Revision of Prior Period [Axis]",
        "terseLabel": "Restatement [Axis]"
       }
      }
     },
     "localname": "RestatementAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RestatementDomain": {
     "auth_ref": [
      "r1",
      "r113",
      "r114",
      "r115",
      "r116",
      "r117",
      "r119",
      "r120",
      "r121",
      "r122",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r150",
      "r227",
      "r228",
      "r491",
      "r521",
      "r561",
      "r562",
      "r563",
      "r564",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r719",
      "r720"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Adjustment to previously issued financial statements. Includes, but is not limited to, adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision.",
        "label": "Revision of Prior Period [Domain]",
        "terseLabel": "Restatement [Domain]"
       }
      }
     },
     "localname": "RestatementDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember": {
     "auth_ref": [
      "r116",
      "r117"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cumulative increase (decrease) to previously issued financial statements for change in accounting principle. Excludes adjustment for amendment to accounting standards.",
        "label": "Revision of Prior Period, Change in Accounting Principle, Adjustment [Member]",
        "terseLabel": "Revision of Prior Period, Change in Accounting Principle, Adjustment"
       }
      }
     },
     "localname": "RevisionOfPriorPeriodChangeInAccountingPrincipleAdjustmentMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RevisionOfPriorPeriodReclassificationAdjustmentMember": {
     "auth_ref": [
      "r2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cumulative increase (decrease) to previously issued financial statements for reclassification. Excludes adjustment for reclassification from amendment to accounting standards.",
        "label": "Revision of Prior Period, Reclassification, Adjustment [Member]",
        "terseLabel": "Re-classifications"
       }
      }
     },
     "localname": "RevisionOfPriorPeriodReclassificationAdjustmentMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioForecastMember": {
     "auth_ref": [
      "r123",
      "r466",
      "r705"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information reported for future period. Excludes information expected to be reported in future period for effect on historical fact.",
        "label": "Forecast [Member]",
        "terseLabel": "Forecast"
       }
      }
     },
     "localname": "ScenarioForecastMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioPreviouslyReportedMember": {
     "auth_ref": [
      "r1",
      "r113",
      "r115",
      "r116",
      "r117",
      "r119",
      "r120",
      "r121",
      "r122",
      "r124",
      "r125",
      "r127",
      "r128",
      "r150",
      "r227",
      "r228",
      "r491",
      "r521",
      "r561",
      "r562",
      "r563",
      "r564",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r719",
      "r720"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents amount as previously reported before adjustment for retrospective application of amendment to accounting standards, other change in accounting principle, correction of error, and other revision.",
        "label": "Previously Reported [Member]",
        "terseLabel": "As previously reported"
       }
      }
     },
     "localname": "ScenarioPreviouslyReportedMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioUnspecifiedDomain": {
     "auth_ref": [
      "r123",
      "r129",
      "r466"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts.",
        "label": "Scenario [Domain]",
        "terseLabel": "Scenario, Unspecified [Domain]"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": {
     "auth_ref": [
      "r111",
      "r706"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]",
        "terseLabel": "Schedule II - Valuation and Qualifying Accounts"
       }
      }
     },
     "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccounts"
     ],
     "xbrltype": "textBlockItemType"
    },
    "srt_StatementScenarioAxis": {
     "auth_ref": [
      "r123",
      "r129",
      "r303",
      "r466",
      "r608"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts.",
        "label": "Scenario [Axis]",
        "terseLabel": "Scenario [Axis]"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ValuationAndQualifyingAccountsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsAbstract",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]",
        "terseLabel": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureLineItems",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails",
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureTable": {
     "auth_ref": [
      "r105",
      "r106",
      "r107",
      "r109",
      "r110",
      "r706"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]",
        "terseLabel": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureTable",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails",
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]",
        "terseLabel": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsNotesAndLoansReceivableLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Accounts, Notes, Loans and Financing Receivable [Line Items]",
        "terseLabel": "Accounts, Notes, Loans and Financing Receivable [Line Items]"
       }
      }
     },
     "localname": "AccountsNotesAndLoansReceivableLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis": {
     "auth_ref": [
      "r55"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of receivable.",
        "label": "Receivable Type [Axis]",
        "terseLabel": "Receivable Type [Axis]"
       }
      }
     },
     "localname": "AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "auth_ref": [
      "r43"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.",
        "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]",
        "terseLabel": "Other Accrued Liabilities"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OtherAccruedLiabilities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r42",
      "r605"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r7",
      "r27",
      "r210",
      "r211"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable, net of allowance for credit losses of $1,826 and $1,701, respectively"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedInsuranceCurrent": {
     "auth_ref": [
      "r14",
      "r15",
      "r47"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_OtherAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Insurance, Current",
        "terseLabel": "Self-insurance reserves"
       }
      }
     },
     "localname": "AccruedInsuranceCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalariesCurrent": {
     "auth_ref": [
      "r14",
      "r15",
      "r47"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Salaries, Current",
        "terseLabel": "Salaries and benefits"
       }
      }
     },
     "localname": "AccruedSalariesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalesCommissionCurrent": {
     "auth_ref": [
      "r14",
      "r15",
      "r47"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_OtherAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Sales Commission, Current",
        "terseLabel": "Commissions"
       }
      }
     },
     "localname": "AccruedSalesCommissionCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedVacationCurrent": {
     "auth_ref": [
      "r14",
      "r47",
      "r385"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Vacation, Current",
        "terseLabel": "Accrued vacation"
       }
      }
     },
     "localname": "AccruedVacationCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r40",
      "r292"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedTerseLabel": "Less: accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "auth_ref": [
      "r280"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life",
        "terseLabel": "Weighted average remaining years of useful life"
       }
      }
     },
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r28"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r113",
      "r114",
      "r115",
      "r488",
      "r489",
      "r490",
      "r562"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r470",
      "r472",
      "r493",
      "r494"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to net income:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r472",
      "r484",
      "r492"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Share-based Payment Arrangement, Expense",
        "terseLabel": "Pre-tax stock-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of expense for award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Expense, after Tax",
        "totalLabel": "Net (after tax) stock-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpenseNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForCreditLossMember": {
     "auth_ref": [
      "r105",
      "r106",
      "r107",
      "r109",
      "r110"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "SEC Schedule, 12-09, Allowance, Credit Loss [Member]",
        "terseLabel": "Allowance for credit losses deducted from accounts receivable in the balance sheet"
       }
      }
     },
     "localname": "AllowanceForCreditLossMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": {
     "auth_ref": [
      "r215",
      "r240"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on financing receivable.",
        "label": "Financing Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Roll-Forward of Allowance for Financing Credit Losses"
       }
      }
     },
     "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r33",
      "r218",
      "r232"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable, allowance for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForNotesAndLoansReceivableCurrent": {
     "auth_ref": [
      "r34",
      "r218",
      "r232"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NotesAndLoansReceivableNetCurrent",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on financing receivable, classified as current.",
        "label": "Financing Receivable, Allowance for Credit Loss, Current",
        "negatedTerseLabel": "Less: allowance for losses"
       }
      }
     },
     "localname": "AllowanceForNotesAndLoansReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r71",
      "r87",
      "r345",
      "r587"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of Debt Issuance Costs",
        "terseLabel": "Amortization of deferred finance costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r87",
      "r277",
      "r285"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization of acquisition-related intangibles",
        "verboseLabel": "Amortization of acquisition-related intangibles"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AreaOfRealEstateProperty": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area of a real estate property.",
        "label": "Area of Real Estate Property",
        "terseLabel": "Area of real estate property"
       }
      }
     },
     "localname": "AreaOfRealEstateProperty",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesNarrativeDetails"
     ],
     "xbrltype": "areaItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r100",
      "r180",
      "r193",
      "r200",
      "r225",
      "r307",
      "r308",
      "r309",
      "r311",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r554",
      "r557",
      "r575",
      "r603",
      "r605",
      "r631",
      "r648"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r10",
      "r12",
      "r58",
      "r100",
      "r225",
      "r307",
      "r308",
      "r309",
      "r311",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r554",
      "r557",
      "r575",
      "r603",
      "r605"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AutomobilesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vehicles that are used primarily for transporting people.",
        "label": "Automobiles [Member]",
        "terseLabel": "Automobiles"
       }
      }
     },
     "localname": "AutomobilesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r473",
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BaseRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum rate investor will accept.",
        "label": "Base Rate [Member]",
        "terseLabel": "Base rate"
       }
      }
     },
     "localname": "BaseRateMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing.",
        "label": "Building and Building Improvements [Member]",
        "terseLabel": "Buildings and improvements"
       }
      }
     },
     "localname": "BuildingAndBuildingImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BuildingMember": {
     "auth_ref": [
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities.",
        "label": "Building [Member]",
        "terseLabel": "Buildings"
       }
      }
     },
     "localname": "BuildingMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r457",
      "r467"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails",
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails",
      "http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails",
      "http://www.cpsinet.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r457",
      "r467",
      "r538",
      "r539"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]",
        "terseLabel": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails",
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails",
      "http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails",
      "http://www.cpsinet.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Business Acquisition [Line Items]",
        "terseLabel": "Business Acquisition [Line Items]"
       }
      }
     },
     "localname": "BusinessAcquisitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails",
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails",
      "http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted": {
     "auth_ref": [
      "r536",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per diluted share amount of pro forma income from continuing operations, after tax, as if the business combination had been completed at the beginning of a period.",
        "label": "Business Acquisition, Pro Forma Income (Loss) from Continuing Operations, Net of Tax, Per Share, Diluted",
        "terseLabel": "Pro forma diluted earnings per share (in dollars per share)"
       }
      }
     },
     "localname": "BusinessAcquisitionProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTaxPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "auth_ref": [
      "r536",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.",
        "label": "Business Acquisition, Pro Forma Information [Table Text Block]",
        "terseLabel": "Pro Forma Results on Income"
       }
      }
     },
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": {
     "auth_ref": [
      "r536",
      "r537"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.",
        "label": "Business Acquisition, Pro Forma Net Income (Loss)",
        "terseLabel": "Pro forma net income"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaNetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessAcquisitionsProFormaRevenue": {
     "auth_ref": [
      "r536",
      "r537"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.",
        "label": "Business Acquisition, Pro Forma Revenue",
        "terseLabel": "Pro forma revenues"
       }
      }
     },
     "localname": "BusinessAcquisitionsProFormaRevenue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationAcquisitionRelatedCosts": {
     "auth_ref": [
      "r534"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.",
        "label": "Business Combination, Acquisition Related Costs",
        "terseLabel": "Acquisition related costs"
       }
      }
     },
     "localname": "BusinessCombinationAcquisitionRelatedCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination and Asset Acquisition [Abstract]"
       }
      }
     },
     "localname": "BusinessCombinationAndAssetAcquisitionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r547",
      "r548",
      "r550"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "Business Combination, Consideration Transferred",
        "terseLabel": "Business combination, consideration transferred"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails",
      "http://www.cpsinet.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1": {
     "auth_ref": [
      "r86",
      "r551"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherNonoperatingIncomeExpense",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/SegmentReportingDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the value of right to a contingent consideration asset.",
        "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Asset",
        "negatedTerseLabel": "Gain on contingent consideration",
        "terseLabel": "Gain on contingent consideration"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationAsset1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails",
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh": {
     "auth_ref": [
      "r552"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the amount of any change recognized during the period in the high-end of the estimated range of outcomes (undiscounted) of a liability assumed in a business combination arising from an item of contingent consideration.",
        "label": "Business Combination, Contingent Consideration Arrangements, Change in Range of Outcomes, Contingent Consideration, Liability, Value, High",
        "terseLabel": "Contingent consideration earnout payment"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInTheRangeOfOutcomesContingentConsiderationLiabilityValueHigh",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": {
     "auth_ref": [
      "r546",
      "r549"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_OtherAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.",
        "label": "Business Combination, Contingent Consideration, Liability, Current",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r553"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combination Disclosure [Text Block]",
        "terseLabel": "Business Combination"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombination"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual": {
     "auth_ref": [
      "r535"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the amount of earnings or loss of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.",
        "label": "Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual",
        "terseLabel": "Pro forma information, pre-tax loss"
       }
      }
     },
     "localname": "BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": {
     "auth_ref": [
      "r535"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period.",
        "label": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual",
        "terseLabel": "Pro forma information, revenue"
       }
      }
     },
     "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation": {
     "auth_ref": [
      "r541"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 10.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease obligation assumed in business combination.",
        "label": "Business Combination, Recognized Identifiable Asset Acquired and Liability Assumed, Lease Obligation",
        "negatedLabel": "Operating lease liability"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "auth_ref": [
      "r541"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "terseLabel": "Acquired cash"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability": {
     "auth_ref": [
      "r540",
      "r541"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 12.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of liability arising from an inherited contingency (as defined) which has been recognized as of the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Contingent Liability",
        "negatedLabel": "Contingent consideration"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedContingentLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": {
     "auth_ref": [
      "r541"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets",
        "terseLabel": "Prepaid expenses"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": {
     "auth_ref": [
      "r541"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables",
        "terseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": {
     "auth_ref": [
      "r541"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable",
        "negatedLabel": "Accounts payable and accrued liabilities"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": {
     "auth_ref": [
      "r541"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities",
        "negatedLabel": "Deferred taxes, net"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": {
     "auth_ref": [
      "r541"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill",
        "terseLabel": "Intangible assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "auth_ref": [
      "r540",
      "r541"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment",
        "terseLabel": "Property and equipment"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "auth_ref": [
      "r541"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net",
        "totalLabel": "Net assets acquired"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "auth_ref": [
      "r533"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.",
        "label": "Business Combinations Policy [Policy Text Block]",
        "terseLabel": "Business Combinations"
       }
      }
     },
     "localname": "BusinessCombinationsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareAccumulatedAmortization": {
     "auth_ref": [
      "r679"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_CapitalizedComputerSoftwareNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For each balance sheet presented, the amount of accumulated amortization for capitalized computer software costs.",
        "label": "Capitalized Computer Software, Accumulated Amortization",
        "negatedLabel": "Less: accumulated amortization"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareAdditions": {
     "auth_ref": [
      "r278"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions made to capitalized computer software costs during the period.",
        "label": "Capitalized Computer Software, Additions",
        "terseLabel": "Capitalized software development costs"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAdditions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareAmortization1": {
     "auth_ref": [
      "r678",
      "r680"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for amortization of capitalized computer software costs.",
        "label": "Capitalized Computer Software, Amortization",
        "terseLabel": "Amortization of software development costs"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAmortization1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareGross": {
     "auth_ref": [
      "r679"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_CapitalizedComputerSoftwareNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software.",
        "label": "Capitalized Computer Software, Gross",
        "terseLabel": "Software development costs"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareNet": {
     "auth_ref": [
      "r677"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.",
        "label": "Capitalized Computer Software, Net",
        "terseLabel": "Software development costs, net",
        "totalLabel": "Software development costs, net"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
      "http://www.cpsinet.com/role/SoftwareDevelopmentScheduleofSoftwaredevelopmentcostsnetDetailsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostAmortization": {
     "auth_ref": [
      "r267"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "Capitalized Contract Cost, Amortization",
        "terseLabel": "Less costs to obtain and fulfill contracts recognized as expense"
       }
      }
     },
     "localname": "CapitalizedContractCostAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinCapitalizedContractCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostNet": {
     "auth_ref": [
      "r266"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "Capitalized Contract Cost, Net",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "CapitalizedContractCostNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinCapitalizedContractCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostTableTextBlock": {
     "auth_ref": [
      "r268"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of cost capitalized in obtaining or fulfilling contract with customer.",
        "label": "Capitalized Contract Cost [Table Text Block]",
        "terseLabel": "Schedule of Changes in Capitalized Contract Cost"
       }
      }
     },
     "localname": "CapitalizedContractCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CarryingReportedAmountFairValueDisclosureMember": {
     "auth_ref": [
      "r573",
      "r574"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measured as reported on the statement of financial position (balance sheet).",
        "label": "Reported Value Measurement [Member]",
        "terseLabel": "Carrying Amount"
       }
      }
     },
     "localname": "CarryingReportedAmountFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r5",
      "r37",
      "r89"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r18",
      "r90"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash and Cash Equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r83",
      "r89",
      "r92"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and cash equivalents at end of year",
        "periodStartLabel": "Cash and cash equivalents at beginning of year"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r83",
      "r576"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Increase (decrease) in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ChangeInAccountingEstimateByTypeAxis": {
     "auth_ref": [
      "r123",
      "r155"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of change in accounting estimate.",
        "label": "Change in Accounting Estimate by Type [Axis]",
        "terseLabel": "Change in Accounting Estimate by Type [Axis]"
       }
      }
     },
     "localname": "ChangeInAccountingEstimateByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ChangeInAccountingEstimateTypeDomain": {
     "auth_ref": [
      "r123",
      "r155"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the accounting estimate that was changed that had the effect of adjusting the carrying amount of an existing asset or liability, or that will alter the subsequent accounting for existing or future assets or liabilities.",
        "label": "Change in Accounting Estimate, Type [Domain]",
        "terseLabel": "Change in Accounting Estimate, Type [Domain]"
       }
      }
     },
     "localname": "ChangeInAccountingEstimateTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r300",
      "r301",
      "r302",
      "r304",
      "r671"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/CommitmentsandContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "auth_ref": [
      "r50"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate number of common shares reserved for future issuance.",
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "terseLabel": "Shares available for future issuance (in shares)"
       }
      }
     },
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r113",
      "r114",
      "r562"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r25"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r25"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r25"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r25",
      "r360"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r25",
      "r605"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common stock, $0.001 par value per share; 30,000 shares authorized; 14,734 shares issued at December 31, 2021 and 14,511 shares issued at December 31, 2020"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Benefits [Abstract]"
       }
      }
     },
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CompensationRelatedCostsPolicyTextBlock": {
     "auth_ref": [
      "r476"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense.",
        "label": "Compensation Related Costs, Policy [Policy Text Block]",
        "terseLabel": "Stock-Based Compensation"
       }
      }
     },
     "localname": "CompensationRelatedCostsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Assets [Abstract]",
        "terseLabel": "Deferred tax assets:"
       }
      }
     },
     "localname": "ComponentsOfDeferredTaxAssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Liabilities [Abstract]",
        "terseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComputerEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.",
        "label": "Computer Equipment [Member]",
        "terseLabel": "Computer equipment"
       }
      }
     },
     "localname": "ComputerEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "auth_ref": [
      "r166"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.",
        "label": "Concentration Risk Disclosure [Text Block]",
        "terseLabel": "Concentration of Credit Risk"
       }
      }
     },
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConcentrationofCreditRisk"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r94",
      "r556"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting.  The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.",
        "label": "Consolidation, Policy [Policy Text Block]",
        "terseLabel": "Principles of Consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure": {
     "auth_ref": [
      "r565"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FairValueDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_EquityFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of contingent consideration in a business combination that is classified in shareholders' equity.",
        "label": "Contingent Consideration Classified as Equity, Fair Value Disclosure",
        "terseLabel": "Contingent consideration"
       }
      }
     },
     "localname": "ContingentConsiderationClassifiedAsEquityFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r371"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "terseLabel": "Schedule of Contract with Customer, Asset and Liability"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r368",
      "r369",
      "r382"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Contract with Customer, Liability",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r368",
      "r369",
      "r382"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination": {
     "auth_ref": [
      "r370"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from business combination.",
        "label": "Contract with Customer, Liability, Increase (Decrease) for Contract Acquired in Business Combination",
        "terseLabel": "Deferred revenue acquired"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesChangesinDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CorporateNonSegmentMember": {
     "auth_ref": [
      "r191",
      "r192",
      "r193",
      "r194",
      "r196",
      "r202",
      "r204"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.",
        "label": "Corporate, Non-Segment [Member]",
        "terseLabel": "Corporate"
       }
      }
     },
     "localname": "CorporateNonSegmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r73",
      "r626"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Total costs of sales"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSoldAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Goods and Services Sold [Abstract]",
        "terseLabel": "Costs of sales (exclusive of amortization shown separately below):"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSoldAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]",
        "terseLabel": "Costs of sales"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": {
     "auth_ref": [
      "r229",
      "r230",
      "r231",
      "r233",
      "r234",
      "r241",
      "r243",
      "r244",
      "r245",
      "r246",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.",
        "label": "Credit Loss, Financial Instrument [Policy Text Block]",
        "terseLabel": "Accounts Receivable and Allowance for Credit Losses"
       }
      }
     },
     "localname": "CreditLossFinancialInstrumentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "auth_ref": [
      "r101",
      "r517",
      "r524"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current Federal Tax Expense (Benefit)",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "CurrentFederalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Current provision:"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [
      "r101",
      "r517",
      "r524"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current State and Local Tax Expense (Benefit)",
        "terseLabel": "State"
       }
      }
     },
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r544"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.",
        "label": "Customer Relationships [Member]",
        "terseLabel": "Customer Relationships"
       }
      }
     },
     "localname": "CustomerRelationshipsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r98",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r339",
      "r346",
      "r347",
      "r349",
      "r358"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Long-Term Debt"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebt"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "terseLabel": "Basis spread on variable rate"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r21",
      "r350",
      "r633",
      "r647"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails_1": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Long-term Debt, Gross",
        "terseLabel": "Debt obligations"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [Line Items]"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails",
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentPeriodicPaymentPrincipal": {
     "auth_ref": [
      "r49"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the required periodic payments applied to principal.",
        "label": "Debt Instrument, Periodic Payment, Principal",
        "terseLabel": "Quarterly principal payments"
       }
      }
     },
     "localname": "DebtInstrumentPeriodicPaymentPrincipal",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r49",
      "r99",
      "r104",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r329",
      "r335",
      "r336",
      "r337",
      "r338",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r348",
      "r352",
      "r353",
      "r354",
      "r355",
      "r361",
      "r362",
      "r363",
      "r364",
      "r585",
      "r586",
      "r588",
      "r589",
      "r645"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails",
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r101",
      "r518",
      "r524"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "auth_ref": [
      "r41",
      "r335",
      "r587"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails_1": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Debt Issuance Costs, Net",
        "negatedTerseLabel": "Less: debt issuance costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r87",
      "r101",
      "r518",
      "r524",
      "r525",
      "r526"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Deferred provision:"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "auth_ref": [
      "r22",
      "r23",
      "r507",
      "r632",
      "r646"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.",
        "label": "Deferred Tax Liabilities, Gross",
        "totalLabel": "Total deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r499",
      "r500"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities, Net",
        "terseLabel": "Deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r101",
      "r518",
      "r524"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "terseLabel": "State"
       }
      }
     },
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsDeferredIncome": {
     "auth_ref": [
      "r515",
      "r516"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income.",
        "label": "Deferred Tax Assets, Deferred Income",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "DeferredTaxAssetsDeferredIncome",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "auth_ref": [
      "r508"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "auth_ref": [
      "r510"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Total deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "auth_ref": [
      "r515",
      "r516"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating loss"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": {
     "auth_ref": [
      "r513",
      "r515",
      "r516"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards.",
        "label": "Deferred Tax Assets, Tax Credit Carryforwards",
        "terseLabel": "Credits"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxCreditCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments": {
     "auth_ref": [
      "r515",
      "r516"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from severance costs.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Severance Payments",
        "terseLabel": "Accrued severance"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsSeverancePayments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "auth_ref": [
      "r515",
      "r516"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "auth_ref": [
      "r515",
      "r516"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities",
        "terseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r509"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "terseLabel": "Less: Valuation allowance",
        "verboseLabel": "Valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails",
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilities": {
     "auth_ref": [
      "r500",
      "r510"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.",
        "label": "Deferred Tax Liabilities, Net",
        "negatedTotalLabel": "Total net deferred tax liability"
       }
      }
     },
     "localname": "DeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "auth_ref": [
      "r515",
      "r516"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.",
        "label": "Deferred Tax Liabilities, Intangible Assets",
        "terseLabel": "Intangible assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "auth_ref": [
      "r515",
      "r516"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other.",
        "label": "Deferred Tax Liabilities, Other",
        "terseLabel": "Fixed assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "auth_ref": [
      "r515",
      "r516"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "terseLabel": "Accrued liabilities and other"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesDeferredTaxAssetsandLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Defined Contribution Plan Disclosure [Line Items]",
        "terseLabel": "Defined Contribution Plan Disclosure [Line Items]"
       }
      }
     },
     "localname": "DefinedContributionPlanDisclosureLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BenefitPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan.",
        "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount",
        "terseLabel": "Employer contribution"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BenefitPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanTable": {
     "auth_ref": [
      "r456"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about defined contribution pension plans or defined contribution other postretirement plans, separately for pension plans and other postretirement benefit plans.",
        "label": "Defined Contribution Plan [Table]",
        "terseLabel": "Defined Contribution Plan [Table]"
       }
      }
     },
     "localname": "DefinedContributionPlanTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BenefitPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r87",
      "r290"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "terseLabel": "Depreciation"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "auth_ref": [
      "r545"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.",
        "label": "Developed Technology Rights [Member]",
        "terseLabel": "Developed Technology"
       }
      }
     },
     "localname": "DevelopedTechnologyRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r495"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement [Text Block]",
        "terseLabel": "Stock-Based Compensation and Equity"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_Dividends": {
     "auth_ref": [
      "r365",
      "r644"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.",
        "label": "Dividends",
        "negatedLabel": "Dividends"
       }
      }
     },
     "localname": "Dividends",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "Domestic tax authority"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Net income (loss) per share"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r68",
      "r119",
      "r120",
      "r122",
      "r123",
      "r124",
      "r130",
      "r133",
      "r144",
      "r145",
      "r146",
      "r150",
      "r151",
      "r563",
      "r564",
      "r640",
      "r654"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "negatedTerseLabel": "Net income (loss) per share - basic (in dollars per share)",
        "terseLabel": "Net income (loss) per share - basic (in dollars per share)",
        "verboseLabel": "Basic EPS (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/NetIncomePerShareDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic [Abstract]",
        "terseLabel": "Basic EPS"
       }
      }
     },
     "localname": "EarningsPerShareBasicAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r68",
      "r119",
      "r120",
      "r122",
      "r123",
      "r124",
      "r133",
      "r144",
      "r145",
      "r146",
      "r150",
      "r151",
      "r563",
      "r564",
      "r640",
      "r654"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "negatedTerseLabel": "Net income (loss) per share - diluted (in dollars per share)",
        "terseLabel": "Net income (loss) per share - diluted (in dollars per share)",
        "verboseLabel": "Diluted EPS (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/NetIncomePerShareDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted [Abstract]",
        "terseLabel": "Diluted EPS"
       }
      }
     },
     "localname": "EarningsPerShareDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted, Other Disclosures [Abstract]",
        "terseLabel": "Weighted average effect of dilutive securities:"
       }
      }
     },
     "localname": "EarningsPerShareDilutedOtherDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r147",
      "r148"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Net Income Per Share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r147",
      "r148",
      "r149",
      "r152"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Net Income Per Share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "terseLabel": "Effective income tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r102",
      "r502",
      "r527"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "terseLabel": "U.S. federal statutory income tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "terseLabel": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r485"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Unrecognized compensation cost related to non-vested share-based compensation period of recognition"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r485"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount",
        "terseLabel": "Unrecognized compensation cost related to non-vested share-based compensation"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": {
     "auth_ref": [
      "r484"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Expense, Tax Benefit",
        "negatedTerseLabel": "Less: income tax effect"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue from External Customer [Line Items]",
        "verboseLabel": "Revenue from External Customer [Line Items]"
       }
      }
     },
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r0",
      "r62",
      "r63",
      "r64",
      "r113",
      "r114",
      "r115",
      "r117",
      "r125",
      "r128",
      "r157",
      "r226",
      "r360",
      "r365",
      "r488",
      "r489",
      "r490",
      "r520",
      "r521",
      "r562",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r661",
      "r662",
      "r663",
      "r720"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityFairValueDisclosure": {
     "auth_ref": [
      "r565"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FairValueDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of the entity's equity.",
        "label": "Equity, Fair Value Disclosure",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "EquityFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EstimateOfFairValueFairValueDisclosureMember": {
     "auth_ref": [
      "r337",
      "r352",
      "r353",
      "r572"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measured as an estimate of fair value.",
        "label": "Estimate of Fair Value Measurement [Member]",
        "terseLabel": "Fair Value"
       }
      }
     },
     "localname": "EstimateOfFairValueFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r565",
      "r566",
      "r567",
      "r569"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value, Recurring and Nonrecurring [Table]",
        "terseLabel": "Fair Value Measurements, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": {
     "auth_ref": [
      "r565",
      "r566"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).",
        "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]",
        "terseLabel": "Carrying Amounts and Fair Values of Certain Assets"
       }
      }
     },
     "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r337",
      "r352",
      "r353",
      "r408",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r453",
      "r566",
      "r610",
      "r611",
      "r612"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "terseLabel": "Fair Value Hierarchy and NAV [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementBasisAxis": {
     "auth_ref": [
      "r337",
      "r352",
      "r353",
      "r565",
      "r570"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement basis.",
        "label": "Measurement Basis [Axis]",
        "terseLabel": "Measurement Basis [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementBasisAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosureItemAmountsDomain": {
     "auth_ref": [
      "r337",
      "r352",
      "r353"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement basis, for example, but not limited to, reported value, fair value, portion at fair value, portion at other than fair value.",
        "label": "Fair Value Measurement [Domain]",
        "terseLabel": "Fair Value, Disclosure Item Amounts [Domain]"
       }
      }
     },
     "localname": "FairValueDisclosureItemAmountsDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "Fair Value"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r337",
      "r408",
      "r410",
      "r415",
      "r453",
      "r566",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "terseLabel": "Quoted Price in Active Markets for Identical Assets (Level 1)"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r337",
      "r352",
      "r353",
      "r408",
      "r410",
      "r415",
      "r453",
      "r566",
      "r611"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.",
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "terseLabel": "Significant Other Observable Inputs (Level 2)"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r337",
      "r352",
      "r353",
      "r408",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r453",
      "r566",
      "r612"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "terseLabel": "Significant Unobservable Inputs (Level 3)"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.",
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Fair Value"
       }
      }
     },
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r337",
      "r352",
      "r353",
      "r408",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r453",
      "r610",
      "r611",
      "r612"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "terseLabel": "Fair Value Hierarchy and NAV [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FederalFundsEffectiveSwapRateMember": {
     "auth_ref": [
      "r560"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap having its variable-rate leg referenced to Federal Funds effective rate with no additional spread over Federal Funds effective rate on that variable-rate leg.",
        "label": "Fed Funds Effective Rate Overnight Index Swap Rate [Member]",
        "terseLabel": "Federal funds rate"
       }
      }
     },
     "localname": "FederalFundsEffectiveSwapRateMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancialAssetNotPastDueMember": {
     "auth_ref": [
      "r241",
      "r252"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial asset not past due.",
        "label": "Financial Asset, Not Past Due [Member]",
        "terseLabel": "Financial Asset, Not Past Due"
       }
      }
     },
     "localname": "FinancialAssetNotPastDueMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancialAssetPastDueMember": {
     "auth_ref": [
      "r220",
      "r241",
      "r252"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial asset past due.",
        "label": "Financial Asset, Past Due [Member]",
        "terseLabel": "Total Past Due"
       }
      }
     },
     "localname": "FinancialAssetPastDueMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLosses": {
     "auth_ref": [
      "r212",
      "r232",
      "r235",
      "r239",
      "r635",
      "r699",
      "r701",
      "r703"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NotesReceivableNet",
       "weight": -1.0
      },
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_NotesReceivableNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on financing receivable. Excludes allowance for financing receivable covered under loss sharing agreement.",
        "label": "Financing Receivable, Allowance for Credit Loss",
        "negatedTerseLabel": "Less: allowance for credit losses",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning Balance"
       }
      }
     },
     "localname": "FinancingReceivableAllowanceForCreditLosses",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAllowanceforFinancingCreditLossesDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery": {
     "auth_ref": [
      "r214",
      "r238",
      "r251"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in allowance for credit loss on financing receivable from recovery.",
        "label": "Financing Receivable, Allowance for Credit Loss, Recovery",
        "terseLabel": "Recoveries"
       }
      }
     },
     "localname": "FinancingReceivableAllowanceForCreditLossesRecovery",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAllowanceforFinancingCreditLossesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Financing Receivable, Allowance for Credit Loss [Roll Forward]",
        "terseLabel": "Allowance for Doubtful Accounts Receivable [Roll Forward]"
       }
      }
     },
     "localname": "FinancingReceivableAllowanceForCreditLossesRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAllowanceforFinancingCreditLossesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs": {
     "auth_ref": [
      "r213",
      "r237",
      "r251"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of writeoff of financing receivable, charged against allowance for credit loss.",
        "label": "Financing Receivable, Allowance for Credit Loss, Writeoff",
        "negatedLabel": "Charge-offs"
       }
      }
     },
     "localname": "FinancingReceivableAllowanceForCreditLossesWriteOffs",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAllowanceforFinancingCreditLossesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock": {
     "auth_ref": [
      "r216",
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of financing receivables by credit quality indicator. The credit quality indicator is a statistic about the credit quality of financing receivables. Examples include, but not limited to, consumer credit risk scores, credit-rating-agency ratings, an entity's internal credit risk grades, loan-to-value ratios, collateral, collection experience and other internal metrics.",
        "label": "Financing Receivable Credit Quality Indicators [Table Text Block]",
        "terseLabel": "Categories of Customer Financing Receivables"
       }
      }
     },
     "localname": "FinancingReceivableCreditQualityIndicatorsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FinancingReceivableDeferredIncome": {
     "auth_ref": [
      "r223"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_NotesReceivableNet",
       "weight": -1.0
      },
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NotesReceivableNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of fee received for commitment to originate or purchase financing receivable where likelihood of commitment being exercised is remote. Excludes financing receivable covered under loss sharing agreement.",
        "label": "Financing Receivable, Deferred Commitment Fee",
        "negatedTerseLabel": "Less: unearned income"
       }
      }
     },
     "localname": "FinancingReceivableDeferredIncome",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis": {
     "auth_ref": [
      "r217",
      "r219",
      "r220",
      "r241",
      "r242",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by class of financing receivable determined on the basis of initial measurement attribute, risk characteristics and method of monitoring and assessing credit risk.",
        "label": "Class of Financing Receivable [Axis]",
        "terseLabel": "Class of Financing Receivable [Axis]"
       }
      }
     },
     "localname": "FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain": {
     "auth_ref": [
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing receivables determined on the basis of initial measurement attribute, risk characteristics and method of monitoring and assessing credit risk.",
        "label": "Class of Financing Receivable [Domain]",
        "terseLabel": "Class of Financing Receivable [Domain]"
       }
      }
     },
     "localname": "FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Financing Receivable, Past Due [Line Items]",
        "terseLabel": "Financing Receivable, Past Due [Line Items]"
       }
      }
     },
     "localname": "FinancingReceivableRecordedInvestmentPastDueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivablesPeriodPastDueAxis": {
     "auth_ref": [
      "r220",
      "r241",
      "r252"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by period in which financial asset is past due or not past due.",
        "label": "Financial Asset, Aging [Axis]",
        "terseLabel": "Financial Asset, Period Past Due [Axis]"
       }
      }
     },
     "localname": "FinancingReceivablesPeriodPastDueAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivablesPeriodPastDueDomain": {
     "auth_ref": [
      "r220",
      "r241",
      "r252"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period in which financial asset is past due or not past due. For past due, element name and standard label in Financial Asset, [numeric lower end] to [numeric higher end] [date measure] Past Due [Member] or Financial Asset, Greater than [low end numeric value] [date measure] Past Due [Member] or Financial Asset, Less than [high end numeric value] [date measure] Past Due [Member] formats.",
        "label": "Financial Asset, Aging [Domain]",
        "terseLabel": "Financial Asset, Period Past Due [Domain]"
       }
      }
     },
     "localname": "FinancingReceivablesPeriodPastDueDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancingReceivablesTextBlock": {
     "auth_ref": [
      "r222",
      "r224"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for financing receivable.",
        "label": "Financing Receivables [Text Block]",
        "terseLabel": "Financing Receivables"
       }
      }
     },
     "localname": "FinancingReceivablesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Finite-lived intangible asset, useful life"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r284"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedTerseLabel": "Accumulated amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five",
        "terseLabel": "Due thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r286"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r286"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r286"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r286"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r286"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r278",
      "r281",
      "r284",
      "r287",
      "r627",
      "r628"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails",
      "http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r284",
      "r628"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross carrying amount"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "Finite-Lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails",
      "http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r278",
      "r283"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails",
      "http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r284",
      "r627"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "terseLabel": "Intangible assets, net",
        "totalLabel": "Net intangible assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillAmortizationDetails",
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": {
     "auth_ref": [
      "r627"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite-Lived Intangible Assets, Remaining Amortization Period",
        "terseLabel": "Remaining useful life"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FinitelivedIntangibleAssetsAcquired1": {
     "auth_ref": [
      "r279"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.",
        "label": "Finite-lived Intangible Assets Acquired",
        "terseLabel": "Intangible assets acquired"
       }
      }
     },
     "localname": "FinitelivedIntangibleAssetsAcquired1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.",
        "label": "Furniture and Fixtures [Member]",
        "terseLabel": "Office furniture and fixtures"
       }
      }
     },
     "localname": "FurnitureAndFixturesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "negatedTerseLabel": "Loss on disposal of property and equipment"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnTerminationOfLease": {
     "auth_ref": [
      "r590"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on termination of lease before expiration of lease term.",
        "label": "Gain (Loss) on Termination of Lease",
        "negatedTerseLabel": "Loss on termination of lease"
       }
      }
     },
     "localname": "GainLossOnTerminationOfLease",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainsLossesOnExtinguishmentOfDebt": {
     "auth_ref": [
      "r87",
      "r356",
      "r357"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_OtherNonoperatingIncomeExpense",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/SegmentReportingDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.",
        "label": "Gain (Loss) on Extinguishment of Debt",
        "negatedTerseLabel": "Loss on extinguishment of debt",
        "terseLabel": "Loss on extinguishment of debt"
       }
      }
     },
     "localname": "GainsLossesOnExtinguishmentOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r74"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and Administrative Expense",
        "terseLabel": "General and administrative"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r269",
      "r271",
      "r605",
      "r630"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "periodEndLabel": "Goodwill, ending balance",
        "periodStartLabel": "Goodwill, beginning balance",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails",
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "auth_ref": [
      "r272"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.",
        "label": "Goodwill, Acquired During Period",
        "terseLabel": "Goodwill acquired"
       }
      }
     },
     "localname": "GoodwillAcquiredDuringPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r289"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Intangible Assets and Goodwill"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwill"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": {
     "auth_ref": [
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.",
        "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": {
     "auth_ref": [
      "r282"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.",
        "label": "Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]",
        "terseLabel": "Purchased Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "auth_ref": [
      "r87",
      "r270",
      "r273",
      "r275"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Impairment Loss",
        "terseLabel": "Goodwill impairment"
       }
      }
     },
     "localname": "GoodwillImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillNarrativeDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Goodwill [Line Items]",
        "terseLabel": "Goodwill [Line Items]"
       }
      }
     },
     "localname": "GoodwillLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Goodwill [Roll Forward]",
        "terseLabel": "Goodwill [Roll Forward]"
       }
      }
     },
     "localname": "GoodwillRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r72",
      "r100",
      "r180",
      "r192",
      "r196",
      "r199",
      "r202",
      "r225",
      "r307",
      "r308",
      "r309",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r575"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/SegmentReportingDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill": {
     "auth_ref": [
      "r87",
      "r288"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of impairment loss resulting from write-down of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value.",
        "label": "Impairment of Intangible Assets, Indefinite-lived (Excluding Goodwill)",
        "terseLabel": "Impairment to purchased intangible assets"
       }
      }
     },
     "localname": "ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r66",
      "r180",
      "r192",
      "r196",
      "r199",
      "r202",
      "r629",
      "r638",
      "r642",
      "r655"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/SegmentReportingDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]",
        "terseLabel": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r294",
      "r297"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r297"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r504"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]",
        "terseLabel": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]",
        "terseLabel": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r102",
      "r503",
      "r505",
      "r512",
      "r522",
      "r528",
      "r530",
      "r531",
      "r532"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r103",
      "r127",
      "r128",
      "r178",
      "r501",
      "r523",
      "r529",
      "r656"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      },
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "terseLabel": "Provision for income taxes",
        "totalLabel": "Total income tax provision"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails",
      "http://www.cpsinet.com/role/IncomeTaxesSignificantComponentsofIncomeTaxProvisionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r61",
      "r497",
      "r498",
      "r505",
      "r506",
      "r511",
      "r519"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r502"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount",
        "terseLabel": "Change in valuation allowance"
       }
      }
     },
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r502"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount",
        "terseLabel": "Income taxes at U.S. federal statutory rate"
       }
      }
     },
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "auth_ref": [
      "r502"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Payment Arrangement, Amount",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationOtherReconcilingItems": {
     "auth_ref": [
      "r502"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority noncontrolling interest income (loss), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, increase (decrease) in enacted tax rate, prior year income taxes, increase (decrease) in deferred tax asset valuation allowance, and other adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "IncomeTaxReconciliationOtherReconcilingItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r502"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount",
        "terseLabel": "State income tax, net of federal tax effect"
       }
      }
     },
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReconciliationTaxCredits": {
     "auth_ref": [
      "r502"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Amount",
        "negatedLabel": "Tax credits"
       }
      }
     },
     "localname": "IncomeTaxReconciliationTaxCredits",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesReconciliationtoFederalStatutoryIncomeTaxRateDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r91"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Cash paid for income taxes, net of refund"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedTerseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.",
        "label": "Increase (Decrease) in Income Taxes Payable",
        "terseLabel": "Prepaid income taxes/income taxes payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r86",
      "r620"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInFinanceReceivables": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in outstanding loans including accrued interest.",
        "label": "Increase (Decrease) in Finance Receivables",
        "negatedTerseLabel": "Financing receivables"
       }
      }
     },
     "localname": "IncreaseDecreaseInFinanceReceivables",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedTerseLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities (net of acquired assets and liabilities):"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Operating Liabilities",
        "terseLabel": "Other liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedTerseLabel": "Prepaid expenses and other"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r134",
      "r135",
      "r136",
      "r146"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/NetIncomePerShareDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Performance share awards (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IntangibleAssetsAmortizationPeriodMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A revision in the estimated economic useful life of a finite-lived intangible asset (the period of time over which the asset is projected to benefit operations).",
        "label": "Intangible Assets, Amortization Period [Member]",
        "terseLabel": "Useful lives of intangible assets"
       }
      }
     },
     "localname": "IntangibleAssetsAmortizationPeriodMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IntangibleAssetsFiniteLivedPolicy": {
     "auth_ref": [
      "r95",
      "r283",
      "r623",
      "r624",
      "r625",
      "r627"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets.",
        "label": "Intangible Assets, Finite-Lived, Policy [Policy Text Block]",
        "terseLabel": "Change in Useful Lives of Intangible Assets"
       }
      }
     },
     "localname": "IntangibleAssetsFiniteLivedPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r65",
      "r174",
      "r584",
      "r587",
      "r641"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_OtherNonoperatingIncomeExpense",
       "weight": -1.0
      },
      "http://www.cpsinet.com/role/SegmentReportingDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "negatedTerseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r82",
      "r84",
      "r91"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Cash paid for interest"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r6",
      "r56",
      "r605"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r17",
      "r57",
      "r96",
      "r156",
      "r261",
      "r262",
      "r263",
      "r621"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LandMember": {
     "auth_ref": [
      "r383"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Part of earth's surface not covered by water.",
        "label": "Land [Member]",
        "terseLabel": "Land"
       }
      }
     },
     "localname": "LandMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r598",
      "r600"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease, Cost",
        "terseLabel": "Rent expense"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]",
        "terseLabel": "Leasehold improvements"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r599"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of Future Minimum Lease Payments Payable Under Operating Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r599"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails_1": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r599"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r599"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r599"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r599"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r599"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r599"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r599"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails_1": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r601"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Operating Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r46",
      "r100",
      "r194",
      "r225",
      "r307",
      "r308",
      "r309",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r555",
      "r557",
      "r558",
      "r575",
      "r603",
      "r604"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r32",
      "r100",
      "r225",
      "r575",
      "r605",
      "r634",
      "r651"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "Liabilities and Stockholders\u2019 Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r48",
      "r100",
      "r225",
      "r307",
      "r308",
      "r309",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r555",
      "r557",
      "r558",
      "r575",
      "r603",
      "r604",
      "r605"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r44"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Amount of credit facility"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.",
        "label": "Line of Credit [Member]",
        "terseLabel": "Line of credit"
       }
      }
     },
     "localname": "LineOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails",
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate (LIBOR) [Member]",
        "terseLabel": "LIBOR rate"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r21",
      "r336",
      "r351",
      "r352",
      "r353",
      "r633",
      "r649"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails_1": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt",
        "totalLabel": "Debt obligation, net"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r45"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt, Current Maturities",
        "negatedTerseLabel": "Less: current portion",
        "terseLabel": "Current portion of long-term debt"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "auth_ref": [
      "r104",
      "r305",
      "r341"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-Term Debt, Maturity, Year One",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": {
     "auth_ref": [
      "r104",
      "r305",
      "r341"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-Term Debt, Maturity, Year Four",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": {
     "auth_ref": [
      "r104",
      "r305",
      "r341"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-Term Debt, Maturity, Year Three",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": {
     "auth_ref": [
      "r104",
      "r305",
      "r341"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-Term Debt, Maturity, Year Two",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r49"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt, Excluding Current Maturities",
        "terseLabel": "Long-term debt, net of current portion",
        "verboseLabel": "Long-term debt"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r49"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-term Debt, Type [Axis]",
        "terseLabel": "Long-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails",
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r49",
      "r306"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-term Debt, Type [Domain]",
        "terseLabel": "Long-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtAnticipatedAnnualFutureMaturitiesDetails",
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MovementInValuationAllowancesAndReservesRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]",
        "terseLabel": "SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]"
       }
      }
     },
     "localname": "MovementInValuationAllowancesAndReservesRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails",
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r158",
      "r166"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "Nature of Operations"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/NatureofOperations"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by (used in) financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Financing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Investing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r83",
      "r85",
      "r88"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Operating Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r4",
      "r59",
      "r60",
      "r64",
      "r67",
      "r88",
      "r100",
      "r116",
      "r119",
      "r120",
      "r122",
      "r123",
      "r127",
      "r128",
      "r142",
      "r180",
      "r192",
      "r196",
      "r199",
      "r202",
      "r225",
      "r307",
      "r308",
      "r309",
      "r312",
      "r313",
      "r314",
      "r316",
      "r318",
      "r320",
      "r321",
      "r564",
      "r575",
      "r639",
      "r653"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cpsinet.com/role/NetIncomePerShareDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "negatedTerseLabel": "Net loss",
        "terseLabel": "Net income (loss)",
        "totalLabel": "Net income",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.cpsinet.com/role/NetIncomePerShareDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": {
     "auth_ref": [
      "r119",
      "r120",
      "r122",
      "r123",
      "r130",
      "r131",
      "r143",
      "r146",
      "r180",
      "r192",
      "r196",
      "r199",
      "r202"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/NetIncomePerShareDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.",
        "label": "Net Income (Loss) Available to Common Stockholders, Basic",
        "totalLabel": "Net income attributable to common stockholders"
       }
      }
     },
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted": {
     "auth_ref": [
      "r132",
      "r137",
      "r138",
      "r139",
      "r140",
      "r143",
      "r146"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders.",
        "label": "Net Income (Loss) Available to Common Stockholders, Diluted",
        "terseLabel": "Net income attributable to common stockholders for diluted EPS"
       }
      }
     },
     "localname": "NetIncomeLossAvailableToCommonStockholdersDiluted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "New Accounting Standards Adopted in 2021 and New Accounting Standards Yet to be Adopted"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncash Investing and Financing Items [Abstract]",
        "terseLabel": "Supplemental disclosure of non-cash flow information:"
       }
      }
     },
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other income (expense):"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NotesAndLoansReceivableGrossCurrent": {
     "auth_ref": [
      "r7",
      "r8",
      "r54",
      "r211",
      "r232"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NotesAndLoansReceivableNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance for credit loss, of financing receivable, classified as current.",
        "label": "Financing Receivable, before Allowance for Credit Loss, Current",
        "terseLabel": "Short-term payment plans, gross"
       }
      }
     },
     "localname": "NotesAndLoansReceivableGrossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NotesAndLoansReceivableNetCurrent": {
     "auth_ref": [
      "r7",
      "r8",
      "r26",
      "r210",
      "r211",
      "r636"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of financing receivable, classified as current. Includes, but is not limited to, notes and loan receivable.",
        "label": "Financing Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Financing receivables, current portion, net",
        "totalLabel": "Short-term payment plans, net"
       }
      }
     },
     "localname": "NotesAndLoansReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
      "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NotesAndLoansReceivableNetNoncurrent": {
     "auth_ref": [
      "r27"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of financing receivable, classified as noncurrent.",
        "label": "Financing Receivable, after Allowance for Credit Loss, Noncurrent",
        "terseLabel": "Financing receivables, net of current portion"
       }
      }
     },
     "localname": "NotesAndLoansReceivableNetNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NotesReceivableGross": {
     "auth_ref": [
      "r220",
      "r232",
      "r241",
      "r247",
      "r251",
      "r252",
      "r697",
      "r699",
      "r700"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NotesReceivableNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance for credit loss, of financing receivable.",
        "label": "Financing Receivable, before Allowance for Credit Loss",
        "terseLabel": "Long-term financing arrangements, gross",
        "verboseLabel": "Total uninvoiced client financing receivables of clients with no related trade accounts receivable"
       }
      }
     },
     "localname": "NotesReceivableGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NotesReceivableNet": {
     "auth_ref": [
      "r27",
      "r210",
      "r247"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement.",
        "label": "Financing Receivable, after Allowance for Credit Loss",
        "totalLabel": "Long-term financing arrangements, net"
       }
      }
     },
     "localname": "NotesReceivableNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NumberOfOperatingSegments": {
     "auth_ref": [
      "r168"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.",
        "label": "Number of Operating Segments",
        "terseLabel": "Number of operating segments"
       }
      }
     },
     "localname": "NumberOfOperatingSegments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingExpenseMember": {
     "auth_ref": [
      "r559"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing expenses associated with normal operations.",
        "label": "Operating Expense [Member]",
        "terseLabel": "Operating expenses"
       }
      }
     },
     "localname": "OperatingExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      },
      "http://www.cpsinet.com/role/SegmentReportingDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Operating Expenses",
        "negatedTerseLabel": "Corporate operating expenses",
        "totalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "terseLabel": "Operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r180",
      "r192",
      "r196",
      "r199",
      "r202"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Operating income"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r592"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails_1": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "terseLabel": "Operating lease liabilities",
        "totalLabel": "Total operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesFutureMinimumLeasePaymentsPayableUndertheseOperatingLeasesDetails",
      "http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r592"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_OtherAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Other accrued liabilities",
        "verboseLabel": "Operating lease liabilities, current portion"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails",
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.",
        "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]",
        "terseLabel": "Operating lease, liability, current, statement of financial position [Extensible List]"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r592"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities, net of current portion"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
      "http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r594",
      "r595"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "terseLabel": "Operating lease payments"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r591"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
      "http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r597",
      "r600"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average discount rate"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r596",
      "r600"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average remaining lease term in years"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OperatingLeasesSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r513"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Federal net operating loss carryforward"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLossCarryforwardsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Operating Loss Carryforwards [Line Items]",
        "terseLabel": "Operating Loss Carryforwards [Line Items]"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLossCarryforwardsTable": {
     "auth_ref": [
      "r514"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting pertinent information, such as tax authority, amounts, and expiration dates, of net operating loss carryforwards, including an assessment of the likelihood of utilization.",
        "label": "Operating Loss Carryforwards [Table]",
        "terseLabel": "Operating Loss Carryforwards [Table]"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingSegmentsMember": {
     "auth_ref": [
      "r191",
      "r192",
      "r193",
      "r194",
      "r196",
      "r202"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Operating Segments [Member]",
        "terseLabel": "Operating segments"
       }
      }
     },
     "localname": "OperatingSegmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails",
      "http://www.cpsinet.com/role/SegmentReportingDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r14",
      "r15",
      "r16",
      "r47"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Other accrued liabilities",
        "totalLabel": "Other accrued liabilities"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r41"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets, net of current portion"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r13",
      "r14",
      "r47",
      "r605"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_OtherAccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Liabilities, Current",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncome": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherNonoperatingIncomeExpense",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/SegmentReportingDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income",
        "terseLabel": "Other income"
       }
      }
     },
     "localname": "OtherNonoperatingIncome",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "totalLabel": "Total other income (expense)"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic": {
     "auth_ref": [
      "r141",
      "r143"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/NetIncomePerShareDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of earnings (loss) distributed and earnings (loss) allocated to participating securities for the basic earnings (loss) per share or per unit calculation under the two-class method.",
        "label": "Participating Securities, Distributed and Undistributed Earnings (Loss), Basic",
        "negatedLabel": "Less: Net income attributable to participating securities"
       }
      }
     },
     "localname": "ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PastDueFinancingReceivablesTableTextBlock": {
     "auth_ref": [
      "r219",
      "r220",
      "r241",
      "r252"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of aging analysis for financing receivable.",
        "label": "Financing Receivable, Past Due [Table Text Block]",
        "terseLabel": "Analysis of Age of Financing Receivables Amounts"
       }
      }
     },
     "localname": "PastDueFinancingReceivablesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "localname": "PayablesAndAccrualsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedTerseLabel": "Treasury stock purchases"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividends": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.",
        "label": "Payments of Dividends",
        "negatedTerseLabel": "Dividends paid"
       }
      }
     },
     "localname": "PaymentsOfDividends",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "auth_ref": [
      "r76"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "negatedTerseLabel": "Purchase of business, net of cash received"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedTerseLabel": "Purchases of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToDevelopSoftware": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the development or modification of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.",
        "label": "Payments to Develop Software",
        "negatedTerseLabel": "Investment in software development"
       }
      }
     },
     "localname": "PaymentsToDevelopSoftware",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "auth_ref": [
      "r407",
      "r409",
      "r415",
      "r433",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r453",
      "r454",
      "r455",
      "r456",
      "r469"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for retirement benefits.",
        "label": "Retirement Benefits [Text Block]",
        "terseLabel": "Benefit Plans"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BenefitPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement awarded for meeting performance target.",
        "label": "Performance Shares [Member]",
        "terseLabel": "Performance shares"
       }
      }
     },
     "localname": "PerformanceSharesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PortionAtFairValueFairValueDisclosureMember": {
     "auth_ref": [
      "r571"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measured at fair value for financial reporting purposes.",
        "label": "Portion at Fair Value Measurement [Member]",
        "terseLabel": "Portion at Fair Value Measurement [Member]"
       }
      }
     },
     "localname": "PortionAtFairValueFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r10",
      "r35",
      "r36"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidTaxes": {
     "auth_ref": [
      "r9",
      "r11",
      "r264",
      "r265"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Taxes",
        "terseLabel": "Prepaid income taxes"
       }
      }
     },
     "localname": "PrepaidTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PriorPeriodReclassificationAdjustmentDescription": {
     "auth_ref": [
      "r2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.",
        "label": "Reclassification, Comparability Adjustment [Policy Text Block]",
        "terseLabel": "Presentation"
       }
      }
     },
     "localname": "PriorPeriodReclassificationAdjustmentDescription",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.",
        "label": "Proceeds from Issuance of Long-term Debt",
        "terseLabel": "Proceeds from long-term debt"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "auth_ref": [
      "r79",
      "r99"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Proceeds from Lines of Credit",
        "terseLabel": "Proceeds from revolving line of credit"
       }
      }
     },
     "localname": "ProceedsFromLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r78",
      "r487"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductMember": {
     "auth_ref": [
      "r383"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Article or substance produced by nature, labor or machinery.",
        "label": "Product [Member]",
        "terseLabel": "System sales and support"
       }
      }
     },
     "localname": "ProductMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r40",
      "r293"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]",
        "terseLabel": "Property, Plant and Equipment, Type [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r296",
      "r672",
      "r673",
      "r674"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipment"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r39",
      "r291"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross",
        "terseLabel": "Property and equipment, gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r19",
      "r20",
      "r293",
      "r605",
      "r643",
      "r652"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property and equipment, net",
        "totalLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r38",
      "r293",
      "r672",
      "r673"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r19",
      "r293"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Schedule of Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r19",
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Long-Lived Tangible Asset [Domain]",
        "terseLabel": "Property, Plant and Equipment, Type [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Useful life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r69",
      "r236"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Provision for bad debt"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProvisionForLoanLossesExpensed": {
     "auth_ref": [
      "r236",
      "r637"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of credit loss expense (reversal of expense) for financing receivable.",
        "label": "Financing Receivable, Credit Loss, Expense (Reversal)",
        "terseLabel": "Provision"
       }
      }
     },
     "localname": "ProvisionForLoanLossesExpensed",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAllowanceforFinancingCreditLossesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivableTypeDomain": {
     "auth_ref": [
      "r55"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing arrangement representing a contractual right to receive money either on demand or on fixed and determinable dates.",
        "label": "Receivable [Domain]",
        "terseLabel": "Receivable [Domain]"
       }
      }
     },
     "localname": "ReceivableTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ReceivablesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Receivables [Abstract]"
       }
      }
     },
     "localname": "ReceivablesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReclassificationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Reclassification [Line Items]",
        "terseLabel": "Reclassification [Line Items]"
       }
      }
     },
     "localname": "ReclassificationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReclassificationTable": {
     "auth_ref": [
      "r2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about reclassification adjustment affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.",
        "label": "Reclassification [Table]",
        "terseLabel": "Reclassification [Table]"
       }
      }
     },
     "localname": "ReclassificationTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RepaymentsOfLinesOfCredit": {
     "auth_ref": [
      "r81",
      "r99"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Repayments of Lines of Credit",
        "negatedLabel": "Payments of revolving line of credit"
       }
      }
     },
     "localname": "RepaymentsOfLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r81"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "Repayments of Long-term Debt",
        "negatedTerseLabel": "Payments of long-term debt principal"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfOtherDebt": {
     "auth_ref": [
      "r81"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for the payment of debt classified as other.",
        "label": "Repayments of Other Debt",
        "negatedTerseLabel": "Payments on capital lease"
       }
      }
     },
     "localname": "RepaymentsOfOtherDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development [Abstract]"
       }
      }
     },
     "localname": "ResearchAndDevelopmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r496",
      "r622",
      "r679"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and Development Expense",
        "terseLabel": "Product development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock": {
     "auth_ref": [
      "r681"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility and in-process research and development acquired in a business combination consummated during the period.",
        "label": "Research, Development, and Computer Software Disclosure [Text Block]",
        "terseLabel": "Software Development"
       }
      }
     },
     "localname": "ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SoftwareDevelopment"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r147"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]",
        "terseLabel": "Restricted stock"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r29",
      "r365",
      "r491",
      "r605",
      "r650",
      "r665",
      "r670"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r0",
      "r113",
      "r114",
      "r115",
      "r117",
      "r125",
      "r128",
      "r226",
      "r488",
      "r489",
      "r490",
      "r520",
      "r521",
      "r562",
      "r661",
      "r663"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Retained Earnings (Accumulated Deficit)"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetirementPlanNameAxis": {
     "auth_ref": [
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r434",
      "r437",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r468"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans.",
        "label": "Retirement Plan Name [Axis]",
        "terseLabel": "Retirement Plan Name [Axis]"
       }
      }
     },
     "localname": "RetirementPlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BenefitPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetirementPlanNameDomain": {
     "auth_ref": [
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r434",
      "r437",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r468"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans.",
        "label": "Retirement Plan Name [Domain]",
        "terseLabel": "Retirement Plan Name [Domain]"
       }
      }
     },
     "localname": "RetirementPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BenefitPlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r171",
      "r172",
      "r191",
      "r197",
      "r198",
      "r205",
      "r206",
      "r208",
      "r380",
      "r381",
      "r626"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Sales revenues:"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r97",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue from Contract with Customer [Policy Text Block]",
        "terseLabel": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenuesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues [Abstract]",
        "terseLabel": "Sales revenues:"
       }
      }
     },
     "localname": "RevenuesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving credit facility"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails",
      "http://www.cpsinet.com/role/LongTermDebtScheduleofDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risks and Uncertainties [Abstract]"
       }
      }
     },
     "localname": "RisksAndUncertaintiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock": {
     "auth_ref": [
      "r602"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturity of undiscounted cash flows to be received on annual basis for sales-type and direct financing leases receivable. Includes, but is not limited to, reconciliation to lease receivable recognized in statement of financial position.",
        "label": "Sales-type and Direct Financing Leases, Lease Receivable, Maturity [Table Text Block]",
        "terseLabel": "Sales-type and Direct Financing Leases, Lease Receivable, Maturity"
       }
      }
     },
     "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivableMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived": {
     "auth_ref": [
      "r602"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NotesReceivableNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases.",
        "label": "Sales-type and Direct Financing Leases, Lease Receivable, Payments to be Received",
        "totalLabel": "Total minimum payments to be received"
       }
      }
     },
     "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears": {
     "auth_ref": [
      "r602"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, Year Five",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFiveYears",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears": {
     "auth_ref": [
      "r602"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, Year Four",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedFourYears",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths": {
     "auth_ref": [
      "r602"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, Year One",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter": {
     "auth_ref": [
      "r602"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThereafter",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears": {
     "auth_ref": [
      "r602"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, Year Three",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedThreeYears",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears": {
     "auth_ref": [
      "r602"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undiscounted cash flows to be received by lessor for sales-type and direct financing leases in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Sales-Type and Direct Financing Leases, Lease Receivable, to be Received, Year Two",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedTwoYears",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": {
     "auth_ref": [
      "r55"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule itemizing specific types of trade accounts and notes receivable, and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]",
        "terseLabel": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesNarrativeDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesShortTermPaymentPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "auth_ref": [
      "r55"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "terseLabel": "Components of Short-Term Payment Plans"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "terseLabel": "Schedule of Other Accrued Liabilities"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/OtherAccruedLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": {
     "auth_ref": [
      "r278"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.",
        "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]",
        "terseLabel": "Summary of Definite-Lived Intangible Assets"
       }
      }
     },
     "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "auth_ref": [
      "r538",
      "r539"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationNarrativeDetails",
      "http://www.cpsinet.com/role/BusinessCombinationPreliminaryallocationofthepurchasepricepaidDetails",
      "http://www.cpsinet.com/role/BusinessCombinationProformainformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r519"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Components of Income Tax Provision"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "auth_ref": [
      "r49",
      "r104",
      "r352",
      "r354",
      "r361",
      "r362",
      "r363",
      "r364",
      "r585",
      "r586",
      "r589",
      "r645"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table Text Block]",
        "terseLabel": "Schedule of Long-Term Debt"
       }
      }
     },
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r510"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Deferred Tax Assets and Liabilities"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r146"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/NetIncomePerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Reconciliation to Federal Statutory Income Tax Rate"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r472",
      "r483",
      "r492"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "terseLabel": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTotalStockBasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r472",
      "r483",
      "r492"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Summary of Stock-Based Compensation Expense"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "auth_ref": [
      "r205"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table]",
        "verboseLabel": "Revenue from External Customers by Products and Services [Table]"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFinancingReceivablesPastDueTable": {
     "auth_ref": [
      "r241",
      "r252"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about aging analysis for financing receivable.",
        "label": "Financing Receivable, Past Due [Table]",
        "terseLabel": "Financing Receivable, Past Due [Table]"
       }
      }
     },
     "localname": "ScheduleOfFinancingReceivablesPastDueTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesAnalysisofAgeofFinancingReceivableDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesComponentsofLeaseReceivablesDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesFutureMinimumLeasePaymentsDetails",
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r278",
      "r283",
      "r627"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails",
      "http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "auth_ref": [
      "r274",
      "r276"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.",
        "label": "Schedule of Goodwill [Table]",
        "terseLabel": "Schedule of Goodwill [Table]"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r274",
      "r276"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Schedule of Changes in the Carrying Amount of Goodwill"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "auth_ref": [
      "r305"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.",
        "label": "Schedule of Maturities of Long-term Debt [Table Text Block]",
        "terseLabel": "Schedule of Anticipated Annual Future Maturities"
       }
      }
     },
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "auth_ref": [
      "r118",
      "r122",
      "r153",
      "r154"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.",
        "label": "Accounting Standards Update and Change in Accounting Principle [Table Text Block]",
        "terseLabel": "Schedule of New Accounting Pronouncements and Changes in Accounting Principle"
       }
      }
     },
     "localname": "ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r40",
      "r293"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]",
        "terseLabel": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/PropertyandEquipmentDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": {
     "auth_ref": [
      "r542"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.",
        "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]",
        "terseLabel": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed"
       }
      }
     },
     "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/BusinessCombinationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r180",
      "r183",
      "r195",
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r180",
      "r183",
      "r195",
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Schedule of Segment Reporting Information, by Segment"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SegmentReportingTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r473",
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.",
        "label": "Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]",
        "terseLabel": "Summary of Activity Under Restricted Stock Plans"
       }
      }
     },
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r283"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of Remaining Amortization of Definite-Lived Intangible Assets"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r167",
      "r171",
      "r172",
      "r173",
      "r174",
      "r175",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r181",
      "r182",
      "r191",
      "r192",
      "r193",
      "r194",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r202",
      "r208",
      "r298",
      "r299",
      "r657"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segments [Domain]",
        "terseLabel": "Segments [Domain]"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails",
      "http://www.cpsinet.com/role/SegmentReportingDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r167",
      "r169",
      "r170",
      "r180",
      "r184",
      "r196",
      "r200",
      "r201",
      "r202",
      "r203",
      "r205",
      "r207",
      "r208",
      "r209"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Segment Reporting"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SegmentReporting"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "Segment Reporting Information [Line Items]"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SegmentReportingDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "auth_ref": [
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r206"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for segment reporting.",
        "label": "Segment Reporting, Policy [Policy Text Block]",
        "terseLabel": "Segment Reporting"
       }
      }
     },
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.",
        "label": "Selling and Marketing Expense",
        "terseLabel": "Sales and marketing"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAmountsreclassifiedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ServiceMember": {
     "auth_ref": [
      "r383"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service.",
        "label": "Service [Member]",
        "terseLabel": "TruBridge"
       }
      }
     },
     "localname": "ServiceMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r86"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Noncash Expense",
        "terseLabel": "Stock based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r474"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period",
        "terseLabel": "Vesting period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedTerseLabel": "Forfeited (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Forfeited (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r480"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "verboseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r480"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Granted (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Outstanding at end of period (in shares)",
        "periodStartLabel": "Outstanding at beginning of period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Outstanding at end of the period in dollars per share)",
        "periodStartLabel": "Outstanding at beginning of the period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Weighted-Average Grant-Date Fair Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r481"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedTerseLabel": "Vested and issued (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r481"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Vested and issued (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r471",
      "r475"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]",
        "terseLabel": "Equity Award [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquitySummaryofActivityUnderRestrictedandPerformanceStockPlansDetails",
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharesIssued": {
     "auth_ref": [
      "r360"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.",
        "label": "Shares, Issued",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "SharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r93",
      "r112"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SoftwareDevelopmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Internally developed software for sale, licensing or long-term internal use.",
        "label": "Software Development [Member]",
        "terseLabel": "Software Development"
       }
      }
     },
     "localname": "SoftwareDevelopmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SoftwareDevelopmentNarrativeDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.",
        "label": "State and Local Jurisdiction [Member]",
        "terseLabel": "State jurisdiction"
       }
      }
     },
     "localname": "StateAndLocalJurisdictionMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r3",
      "r167",
      "r171",
      "r172",
      "r173",
      "r174",
      "r175",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r181",
      "r182",
      "r191",
      "r192",
      "r193",
      "r194",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r202",
      "r208",
      "r274",
      "r295",
      "r298",
      "r299",
      "r657"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]",
        "terseLabel": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillScheduleofGoodwillDetails",
      "http://www.cpsinet.com/role/SegmentReportingDetails",
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r0",
      "r52",
      "r62",
      "r63",
      "r64",
      "r113",
      "r114",
      "r115",
      "r117",
      "r125",
      "r128",
      "r157",
      "r226",
      "r360",
      "r365",
      "r488",
      "r489",
      "r490",
      "r520",
      "r521",
      "r562",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r661",
      "r662",
      "r663",
      "r720"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]",
        "terseLabel": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r113",
      "r114",
      "r115",
      "r157",
      "r626"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "auth_ref": [
      "r360",
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "terseLabel": "Issuance of restricted stock (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares (or other type of equity) forfeited during the period.",
        "label": "Shares Issued, Shares, Share-based Payment Arrangement, Forfeited",
        "negatedLabel": "Forfeiture of common stock (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationForfeited",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r24",
      "r25",
      "r360",
      "r365",
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "terseLabel": "Common stock issued upon exercise of stock options (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": {
     "auth_ref": [
      "r24",
      "r25",
      "r360",
      "r365"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period.",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross",
        "terseLabel": "Issuance of restricted stock"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r52",
      "r360",
      "r365"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Common stock issued upon exercise of stock options"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stock repurchase plan authorized.",
        "label": "Stock Repurchase Program, Authorized Amount",
        "terseLabel": "Stock repurchase program, authorized amount"
       }
      }
     },
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount remaining of a stock repurchase plan authorized.",
        "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount",
        "terseLabel": "Stock repurchase program, remaining authorized repurchase amount"
       }
      }
     },
     "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "auth_ref": [
      "r24",
      "r25",
      "r360",
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Shares",
        "terseLabel": "Stock repurchased during period (in shares)"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/StockBasedCompensationandEquityNarrativeDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r25",
      "r30",
      "r31",
      "r100",
      "r221",
      "r225",
      "r575",
      "r605"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "totalLabel": "Total stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets",
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.",
        "label": "Subsequent Event [Line Items]",
        "terseLabel": "Subsequent Event [Line Items]"
       }
      }
     },
     "localname": "SubsequentEventLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventMember": {
     "auth_ref": [
      "r583",
      "r607"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event [Member]",
        "terseLabel": "Subsequent event"
       }
      }
     },
     "localname": "SubsequentEventMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventTable": {
     "auth_ref": [
      "r583",
      "r607"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.",
        "label": "Subsequent Event [Table]",
        "terseLabel": "Subsequent Event [Table]"
       }
      }
     },
     "localname": "SubsequentEventTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "auth_ref": [
      "r583",
      "r607"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Axis]",
        "terseLabel": "Subsequent Event Type [Axis]"
       }
      }
     },
     "localname": "SubsequentEventTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "auth_ref": [
      "r583",
      "r607"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Domain]",
        "terseLabel": "Subsequent Event Type [Domain]"
       }
      }
     },
     "localname": "SubsequentEventTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r606",
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "Subsequent Events"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Text Block [Abstract]"
       }
      }
     },
     "localname": "TextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_TradeAccountsReceivableMember": {
     "auth_ref": [
      "r53"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount due from customers or clients for goods or services  that have been delivered or sold in the normal course of business.",
        "label": "Trade Accounts Receivable [Member]",
        "terseLabel": "Trade Accounts Receivable"
       }
      }
     },
     "localname": "TradeAccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/FinancingReceivablesSummaryofFinancingReceivablesbyCreditQualityIndicatorDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TrademarksMember": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.",
        "label": "Trademarks [Member]",
        "terseLabel": "Trademark"
       }
      }
     },
     "localname": "TrademarksMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/IntangibleAssetsandGoodwillDefiniteLivedIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r51",
      "r366"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r51",
      "r366"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury Stock, Shares",
        "terseLabel": "Treasury stock, shares (in shares)"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r51",
      "r366",
      "r367"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.",
        "label": "Treasury Stock, Value",
        "negatedTerseLabel": "Treasury stock, 89 shares at December 31, 2021 and 47 shares at December 31, 2020"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "auth_ref": [
      "r360",
      "r365",
      "r366"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.",
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "negatedTerseLabel": "Treasury stock purchases"
       }
      }
     },
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r159",
      "r160",
      "r161",
      "r162",
      "r163",
      "r164",
      "r165"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of Estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "auth_ref": [
      "r105",
      "r110"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesBalance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails",
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "auth_ref": [
      "r108"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense",
        "terseLabel": "Additions charged to cost and expenses"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails",
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "auth_ref": [
      "r109"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction",
        "negatedTerseLabel": "Deductions"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDeductions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails",
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "auth_ref": [
      "r105",
      "r106",
      "r107",
      "r109",
      "r110"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]",
        "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails",
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "auth_ref": [
      "r105",
      "r106",
      "r107",
      "r109",
      "r110"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]",
        "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforCreditLossesDetails",
      "http://www.cpsinet.com/role/ScheduleIIValuationandQualifyingAccountsAllowanceforDoubtfulAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]",
        "terseLabel": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]",
        "terseLabel": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/LongTermDebtNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r132",
      "r146"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/NetIncomePerShareDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted (in shares)",
        "totalLabel": "Weighted average shares outstanding used in diluted per common share computations (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r130",
      "r146"
     ],
     "calculation": {
      "http://www.cpsinet.com/role/NetIncomePerShareDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "netLabel": "Weighted average shares outstanding used in basic per common share computations (in shares)",
        "terseLabel": "Basic (in shares)",
        "verboseLabel": "Weighted average shares outstanding used in basic per common share computations (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations",
      "http://www.cpsinet.com/role/NetIncomePerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]",
        "terseLabel": "Weighted average shares outstanding used in per common share computations:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.cpsinet.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 6
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6787-107765"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=SL124452830-107794"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1377-109256"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1505-109256"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1252-109256"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1707-109256"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1757-109256"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1500-109256"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1930-109256"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1930-109256"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1930-109256"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6911-107765"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1930-109256"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e2740-109256"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1337-109256"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e3842-109258"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e4984-109258"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "http://asc.fasb.org/topic&trid=2144383"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e725-108305"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e765-108305"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e777-108305"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e543-108305"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e7018-107765"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8657-108599"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8672-108599"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8844-108599"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=124429488&loc=d3e326-107755"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8981-108599"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8475-108599"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(4)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953659-111524"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5066-111524"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5111-111524"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953401-111524"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/subtopic&trid=2196772"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=6378536&loc=d3e10095-111533"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "http://asc.fasb.org/subtopic&trid=2196816"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(4)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124256539&loc=SL120269210-210444"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124256539&loc=SL120254536-210444"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124266218&loc=SL120267834-210445"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL120267845-210446"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919258-210447"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919260-210447"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919272-210447"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL120267966-210447"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL120267969-210447"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124267575&loc=SL82921833-210448"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124267575&loc=SL82921835-210448"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "79",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124267575&loc=SL82922352-210448"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "80",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124267575&loc=SL82922355-210448"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 6.M.Q4)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122651532&loc=SL122037091-237805"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124268681&loc=SL120267897-210452"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=125515542&loc=SL120267917-210453"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=125515542&loc=SL120269220-210453"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL120267853-210455"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL120267859-210455"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL120267862-210455"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "http://asc.fasb.org/topic&trid=2126998"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123349782&loc=d3e5879-108316"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123353750&loc=SL49131252-203054"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123353750&loc=SL49131252-203054"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123353750&loc=SL49131252-203054"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "http://asc.fasb.org/topic&trid=2155823"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123465755&loc=d3e1835-112601"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123467658&loc=d3e12317-112629"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123467658&loc=d3e12355-112629"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21475-112644"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21506-112644"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21521-112644"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21538-112644"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130531-203044"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130532-203044"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130561-203045"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130564-203045"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409733&loc=d3e19396-108361"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(10)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(8)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(9)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.14)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(8)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(j)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a),20,24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(k)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(l)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(o)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(p)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(q)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2410-114920"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2417-114920"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(4)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(5)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(6)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(7)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2709-114920"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e2919-114920"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "60",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(b)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(e)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(e)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(1)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(2)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "http://asc.fasb.org/topic&trid=2235017"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=123468992&loc=d3e4534-113899"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b),(f(1))",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11149-113907"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11178-113907"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3(a)(1),(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(a)-(d)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123586518&loc=d3e1043-128460"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(3)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3(a),(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "37",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123455525&loc=d3e2207-128464"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123413009&loc=d3e4845-128472"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123413009&loc=d3e4845-128472"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6578-128477"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6613-128477"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Subparagraph": "b",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e7008-128479"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e7008-128479"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "http://asc.fasb.org/topic&trid=2303972"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=124256753&loc=SL5864739-113975"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(2)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19279-110258"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=SL6742756-110258"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594809&loc=d3e13220-108610"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13433-108611"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13467-108611"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13476-108611"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123386189&loc=SL77918607-209975"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918631-209977"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918701-209980"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888251"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=124258985&loc=SL77919391-209981"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "http://asc.fasb.org/topic&trid=2122774"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=123371682&loc=d3e55415-109406"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "350",
   "Subparagraph": "(a)",
   "Topic": "920",
   "URI": "http://asc.fasb.org/extlink&oid=120155617&loc=SL120155628-234783"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "350",
   "Subparagraph": "(b)",
   "Topic": "920",
   "URI": "http://asc.fasb.org/extlink&oid=120155617&loc=SL120155628-234783"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "350",
   "Subparagraph": "(a)",
   "Topic": "920",
   "URI": "http://asc.fasb.org/extlink&oid=120155617&loc=SL120155638-234783"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=123384075&loc=d3e41242-110953"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(7)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(7))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6957935&loc=d3e64057-112817"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(15)(b)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r650": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r672": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916"
  },
  "r673": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916"
  },
  "r674": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916"
  },
  "r675": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r676": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691"
  },
  "r677": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r678": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r679": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r680": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128487-111756"
  },
  "r681": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "730",
   "Topic": "985",
   "URI": "http://asc.fasb.org/subtopic&trid=2197926"
  },
  "r682": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r683": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r684": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r685": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r686": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r687": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r688": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r689": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r690": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402"
  },
  "r691": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(1)"
  },
  "r692": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)"
  },
  "r693": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(3)"
  },
  "r694": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(i)"
  },
  "r695": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(ii)"
  },
  "r696": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1402",
   "Subparagraph": "(2)(iii)"
  },
  "r697": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1404"
  },
  "r698": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(b)",
   "Publisher": "SEC",
   "Section": "1404"
  },
  "r699": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1405",
   "Subparagraph": "(1)"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(7)(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r700": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1405",
   "Subparagraph": "(2)"
  },
  "r701": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1405",
   "Subparagraph": "(3)"
  },
  "r702": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1405",
   "Subparagraph": "(4)"
  },
  "r703": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(c)",
   "Publisher": "SEC",
   "Section": "1405"
  },
  "r704": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r705": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "11",
   "Subsection": "03"
  },
  "r706": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "09"
  },
  "r707": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(i)",
   "Subsection": "01"
  },
  "r708": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(i)",
   "Subsection": "02"
  },
  "r709": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(ii)",
   "Subsection": "01"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r710": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)",
   "Subsection": "01"
  },
  "r711": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)(A)",
   "Subsection": "01"
  },
  "r712": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)(A)",
   "Subsection": "02"
  },
  "r713": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)(B)",
   "Subsection": "01"
  },
  "r714": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)(B)",
   "Subsection": "02"
  },
  "r715": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iii)(C)",
   "Subsection": "02"
  },
  "r716": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iv)",
   "Subsection": "01"
  },
  "r717": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "13",
   "Subparagraph": "(4)(iv)",
   "Subsection": "02"
  },
  "r718": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r719": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Topic": "848"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r720": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3367-108585"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4273-108586"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4297-108586"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=SL98516268-108586"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18726-107790"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(c))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>106
<FILENAME>0001169445-22-000003-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001169445-22-000003-xbrl.zip
M4$L#!!0    ( %> ;U2:96UPGP,  (@=   5    83(P,C%Q-&5X:&EB:70R
M,3$N:'1M[9EM;]LV$,??[U.P*K:^B1XMQX[L&%CMH"G@ID'J-=VK@1(IZ5!*
M%$C:COKI2SUX76PGG=.BZ3(9AB#[2-[Q?S]1$F_\;/9VNOCS\@RE*F/H\H^7
M\]=39)BV?=V;VO9L,4/GBS=SY%N.BQ8"YQ(4\!PSVSZ[,)"1*E4$MKU>KZUU
MS^(BL1=7=C64;S/.);6((L9D7/VCCQ23R2_C9Z:)9CQ:9C17*!(4*TK04D*>
MH&M"Y4=DFFVK*2]* 4FJD.=X'KKFXB.L<&-7H!B=;,89V\WOL5T[&8><E),Q
M@14"<FJ Y[I]M]^+PXCZ_HDW' YP?.S%H=N+L1_&P[]<':2MFS=]I"H9/34R
MR,V45OX#W[,&_4*-UD!4&KB.\ZM1-YV,8YXK[4_H_LUI,\S.8(K>*!,S2/*@
MGI+1=-V8(\ZX")X[]6=46<P89\#*X,4",BK1!5VC*Y[A_,61U&DP)140-PTE
M?*(Z)AU>_7/=A#S0XS#(Z68*KE<%?7:30@A:4-=R;T=\WVR^8MLSQT@GA8I'
MFN249\52NT>7@B<"9Q+AG*!WI50TDT?H=1Y9/_T<WBU#"02P*-$<I#HH7H5#
M1C<-0BX(%::.F^%"TF!S,B(@"X;+ /+:>]UIE&&1:.Q#KA3/@@KY%14*(LQ:
M)[6_QMQ>#8.^U1_ZU06A-!N*;!RWUXI57RNV(KLV_]@:'I_<:78L]T[;?</V
M'>ND=W?7?PYKUR$W86MA9('S4Z-G;&G':*S34F@&. ."-LEOK8H7>XP%)D0O
M:8%7W"!M'>WD:5O81M,?3YNS1=L%SNC?M+7Z/50:T;AXTLHI??]"/$9O18)S
M^(2K^^,M_1Z%L6JX1]+)WZO30BQ?"B )/4+S^;0#[%\+-Z,,K[&@'5,[TIRM
M@.B$=41U1'TG:<XI9BIEU>/B.6=5V+>?%CNX.KB^!UP=5 <I]P;RG$JN<$?5
MCC:_9[I?A'/4X+6@47K4\74H7U)6WZ* CK ==:[*"J\*K%Q[3(!N[Z%T@/W@
M!>QN:?Y38,$%51\*'9 &:LI%82'RVW-_, KK(T:OJ$)7>E5KE[9OXNT^V!XF
MY\^(&19E]7S1479[YV'*"?WFE\3_!4'OH=K_A8>L4^V>\7YAGBY>S=H4Z5<>
MO59)OA011:\$7Q:'WB0?JM^3YO$:RU1'J_;MJ=IUR>+ &M560:_@344S$/J]
M5<&*[I3XOF2I3H_SI0L.M:Q+M=OE*U7!]MC4*.MJZ>0S4$L#!!0    ( %>
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
M?B-PZ^\<W*Y78O/\V4$WW#_2-:!JA6 )0B:)P*V+VB6ABCM\(-X":L+&D7"
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
M(#US6):UQ*',/#@URD1=ICIZC%3$6.FD?)4?04A;BU!0DGD:F!1**681E2@
MHVKV?>9<(31":(? ;Y\BB\9[:L"H(5=F'-FR]5:6E=4!T/$F"G! WI&O*=%N
M;EQBKM*PFXT Z@X[-N1K]]7*!\P5(S%0AJTP6DH:+-A0P203K@ -HF8LRI,/
M:R4?7-8!S_*?:_O5W?L$NAWL8+_;'^1%Y $TF?4/SW*(:FO=CR;/$JP'9A!F
M3H[7^Q-<46W[E(*!8I7K8\!B![S-C^W:7@/<F!U::<$U]5/6 -R^(,?6>U:K
M.]K</H;G[( \@+=Y]($UDY&LNZMJIW)9JY_ '=X#.;Z__@0^A)=!>U Y#"%$
M,$GO%(5PT7G-A''1F[6-=81N7)8)C-_4/&,9"L2X0N>41%9C*I7&FEL'=C1\
MVD_8/63M:F<A-\EBO0U@S]["G;)V\C"'>0[@'0X J(1B+8Z5$X+(7C]+#=JY
M'(!QS #-MUE_,',PCR>6K@7>RG6C7L'-HV8&U@VN.\EJ>P?MRM[!:>7:73=:
M^U< &J]F&H$%[#?K9UGSJ &>2X. QW+1J!^# .P#L$DQX=JZ[U2N/[ *@>NV
MQM?\^^\3V_'M6@=\V-8N/!-L*%C'VO9[7('PH5+?0;6]?0X6];I:/T[/9"
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
MN:7&V2>5\ZB 0PW6/JU1**9&32)518+V%/ME!_HI"77VZ%(%CB>))I)(&/8
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
M!N>\,H8XH0UZW3&ZI&M:A!HV3&:K]NI'SA!\G2>/OMN2'7NR9L<^.'J(U8&
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
M.^GS0=RBF_0-C:R9=HBOD6JKA;<'BY;3.ELH3J2A6+"?FUU!2$+^H9>AC,Q
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
MGS 1;M?K03RRD(!GA0]K%?%!Q? E*(N U^(J--_%S:*-7#>25=+L@=>/LP+
M*"HMM*CLE#LQ>I8XC0R$L$"%RA1)?6OCKKSDD1A4C!;Y]\Z%40SI^*].:\%W
MNO#2>RJH<8Y+0S05T]/-MSZM#X;,>J#8F+2+Z0UJ7]?0S7GO&+$ACJA!]+4V
MR/].4&S&BMBKS_HV2<FBT+2]/"LOS2P;..X1+[D>/@N A3N92\?4*.E#2PS,
M+\&_WZK:CT-)?<0\:@RFX;(C7ME%NNR5E):2+^>ZHBBA)Q545_+6)<??N,/\
M:CC)'L>EG0$0XF%0<?^==\XMHK(,K?,6PZ%I@5>(GA#LAQAE8612PY_RX,@X
M+A3)+;$DWF[08Y0^<9IU6G:= ';96$\6 >KY@.9J&ZJH,CTH/R1WD>43< /V
MRX!2O3I")#/5:NH_]!J>I52ZTIO3R[+BBEY#6=&,7[ _RG;3I21_(I$.0J 6
MK,ES* S1GI0T9!XB.PL]HR^R1GL%&E^=WKKHW;@7T8U[JD?X'^P!2.G?>>P!
M;'VJMP,@ACI$-U_,.'1.TO6APO&15%T';T]X>G R$9.W*QO@L]7FDD.."K#9
MI5@[ZFD(=)&%'%3?ECBEG^@_>J7I[ :$?C#<L2G$O"'G19%?<G; J+GR6FJ=
MG/8/8#5\B!70(@DD9!DD85.,JBV5?<:)ZQY()"2'PGXU>?-9/O$9$#CWM"P+
M_8,^\RCYWDW2KO%(""U4PD+EY4QT!A1(;['9^A#J&RT;CTW!30NLY6R\P.(\
MNIJKUE(4A0IVFM_#.VS^?'@S_?JK.[ZKV.ZMC__F,QG+L&VM*>FHVHY34,$P
MD+""W>0K53ML!<3/0#I=I%72Z70H@,G7QPYU_.QU$#A^M$+$S/;NU(@SYLXX
M7MBX8]*L7W'#6;E488W-KIT=^4V7!9\F1"_)QN9J>TZ@"3U<^2X*3TW =,57
M3V17AE>7KKVNZG='$2U%P9<89Q?L,8%%@KX$SDMF^^), H]2PQ<QM3Z3.\@K
MXS_KI;Y'&'C!?KH98? G  M\I,[ZP5C*(<8_>*OTA>]N?N;OTJA\^(VI^MU6
M<3\R,4.,U@HAU1OCJ=[N^( E@7])Z1#'68)5'X#U#*>&QS]VT\K*N,,7HXAF
M8VEOZ 3ZN9*Q>?IIN/GNRN*8]/0K\F\*">DBV @"/@9^T9_'_4:U<:^JJEY4
MM5)U8GF@K:9 )8OAP$9VT"L)@Z@T1@TH9UQ-L-80E^'_@+=S2H%O>BT06'K
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
M1XG&5R+;)#I</<.PU^\N!M"A!K,V4/)Z4&5=3%>*3D)FWX<Z_%5&/G&+0]
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
M_!%]DZWGO7$A2;(G$-.%?AO#KS;TX<CRJFM$C\:\HE0Z$+7##!"VLL^*$(R
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
M:;'.B0BQ\WB $;>%I'K1)[2=(3WJ.!<M;'B:C_&C&_FX#6K;&G^JJ[%8D9Y
M"7E*WU&<%@,V(Z[XE"EFN.B30<BYW,YJP- WBG3)>T+OL :FWD8MBFAYUXT)
M@P[X%EOK30Z9#TXQ+G7W?9UGETZ?*=18^,2W8E="R\APL@;,O$%!68E8H!^+
M^B>2BAT0$".[8V'9:["=UF!,5<Q29'#O[6JJEZ6/ UA:PJ?W563Y A9UUG>$
M&3P#GXXN;ZF+#M%7SD!Z-T#N6RMZR>O><0H(6&T</8J=8GZ)(>,#_@46=\0U
MZTT/O?9S\6MA(TB1;+Z8L94$3V@A^9L?NII.\4S+QQJG8[9>]OQ"J8WH1/U,
M9FR#8!&J\6]6=#LE:T0<,>2#%>GBRWI%#Z[A/;QCW L)K 6G>K[^UC&._VK!
MVM>-X7SQMK=[ <C-E^MZ71D#O.%1II-W<E]:HBY$]%74L"KT.8K9.*[(?;8E
MLZ"9281EYNE[;W7G]::<9-X(QZO!%?C5^W*P7:A2> XX"'A0G:C+9T):X3)_
M-,C']&F@JVU?#1<N;2J8>@IC89"9;QC'P5D!BS1YJ^):5B@((YLEQ/L$#3(C
M.\LAMF.AT,W%EF.RZ-Z5W)/C6J+.', 5QXY^.O>E;%S6P"%;S:8%%+12*B%]
M'H5.-;ZD&.FHK\68\_AR4RFJ,+3.\]"\?:W/+IPB12@)@3IOY5O5I]NVI#B*
MRJE;SO,&Q\7G(:+4@4\ Q->^R!Z#.7JUOJ-D4732VQ&'H:Y3:?RBD=$ ]O"@
M.3)>]N*Z0^+Z/&2XR"OLR-[=<N^[T^!61X ?")5CKQ0":,3E=35&J956K/4!
M0%#5!0JV\"@C$6>E.@2E$M-%JO:#U;)'"@6DT(.=1 KM-<879&X1?+,JCHOE
M'%+<S;?.&Q0CLK47A"$#FIE$Y9M6*2XY;,"<5=$])ZQ55<EF&0D..@V$&V_5
M(K2:&[1&$T"T]B=S_#=NI0%8E^2J)=EGW<6DTX&T721=8_=DU*TCX"*_.K\Z
M!!F_-LH7'Q:7\ =C&^JH\L@BG7Z& DZ_GE5%L3RLKN%[(&R=9WD*5T'0?PI9
M8/!:3"43*A7A9%U6Y'HU>T=X%S3<N?012<Z6DR*N4$;G-\Z3;[E8WQ^P\[-7
M<5G^G#NX!,TD0<_ E4KJSB.F1W%HSS 0K(#>Y06PE,9R7]67:9G_T[IH22*F
M@,]ID1YMNY),>+GLD""# \=; -LQ3U#HIQ/&'C?],;!:1$OD?=P(U*U:$TSF
M2PUR^3XP^7R,^D,QWX#6P$IYE(.ZYBNGT&O<3W4(GSY=/80G)Q"]K1W#IX_O
MG>S.,7QR]/31[<@)?\JMT]'S1GBGMYV54 FU-$%#_]M,I=)U% *A"^ME:9>Z
M\A.%$BT.]\=%"LPA%BIK?;LF-!5=I+5TVLH9$.&_OWF9DCL';WYZ?G!7N38^
ME<>]%^Q_4;"?DR-G]=-Q#]+M2O6Y=M4JTGQ."KG,45BC5P@9)U#TOZGT(AU
M.AF1(5:=)4UTS@(=S:RHJG>'TL@0O%+&@QA;SYGT0F- \2=K-K@7SW]1/,]8
M BXF=3<>6Q[HHAO/<ZZEV#9WL6]3)X(Z1%8,]Z_!@%MINWE%KDN6:@M.J93W
MW1!B.TAK5Y8ADX97-*&]'?]:HTY@_XQ9']"TI?E7J#SW4OQ)I?C<8?\YA;LK
M-%O1D-),+ )Q#J7:0BL7+E/@F34))^*=A=L^0I=%CSN5Q]TY>'Y^2O?]N6M)
M8U]I F)P)8Q_:V0MAI9L5%3U.T_>E9=7(.RX%3G37JJ_C%0_XWOYF]..M,W.
MR/5SF+'-@"8%1L5+KE1!]S RZ&^:MFQLJ+RGF!CZ?K#F'2ESR+HCRB4?;#E(
M.JIIS0_=B^J.B"IJ\Q%MW1DQ/15*BV$Q-1XCE-+552'%$1((?!__9&@*P-!<
M<@N;0YW-E/_ONR\UMXDNM1CF=64]%Y@O2-Q%QY2Y8C.I;:18^W3)$>N:[HS-
M/ZS#'1(P0,(OA"?PC0(J#CJ4CGZ?:1$.B-F4Y!K%BEEB(TV0//;EO3P&4@V7
M%9@#OCB8X4OLWT=R)-X0--VRM'VR:.HJL&Z'Y@AM86'#@#,-W7G:627L9A#W
MLBV6ATS\#J/MQ?F/9%)A*CW7PGG*2^]<]..FZI=PN,=25^II:)T7/<O596I]
MS)$]K0"%CQ! BM[V&8L"AQ?,J\A39*@5M5#42I&R\]@ON85KUPO),A5)+Z-F
MW0TL"+P".N>0%AN4W$Q;0KH" 0E%.+[Q=FY%=?%Z;PC3KB7(ODT\5>LY*Q\&
MZ,=,K&]J^F.+0-G2A&Z4O&)T6Y&<51G[A7TQI;L+M$3>8]3&F:$D^66I5-G\
ML87@OM=6(QY.O\_G[( &"IO)F_6]0>=NJ8N^K,J9] ?K<7YQG,-.R.HQ97Q+
MI'3Z)C-:Y7%#6(W$Y;51BC2. R7)995:KVZD4G001N&X*-(R!IJ+$@R_(04Y
MY2?B]L\M@VIAO^@A1UCYI56W@=!06#J4 I-FG^(TD\& T=(,)RF E(BQK*@I
M8/"1O]*<%0IFF$&)WHFR8Z_@<L<&CJQ5'GH!X<^*RH1J@=(:19I8Z!+1.WY.
M:XDPIR"D!_;BXS?OUNHMUD5>=D&"2+H&;8Q)F5VHNI7!G_9T\6YQ/^\UXBYH
MQ%<:57KY=H<TWSP,:I6Q&2 _8*.A _QGL>8S$A7\>(@H;,@04^)#-+YF[)]7
M%LS%RUALB\_!&;PF[3IG7B8,-NC@5=,H12PO(R,DIIJ(2@-? EPXK5,ZG]T$
M&*"1C'X#A\9(X>"<FY'V))L6Z]8:1<O_+KQE^SV9V]U"@X4<55F.2.]XKFVM
MT3S30CZDW$GIN$G'Y!CA.=KKJ6=]X8<O<#$]<S3X_?'?@>-OYNKS\G(G C.>
MGO/XJ=!SHC"5^3L*#AJ 36>EL]:/#N4H=%"EQ/IH]0^AS; EZ9V?K*3>!2W#
M_QYF:PI(%'N$;X\E+8K]\Z22Z=)'._L P1L2FW\^_/##/7[X3ZY\GI>3"I7V
M.]+M\6VD;IRV^V/>$!WF!SK\O:V[,_H><QT*P_#QD?]C1FY242W8PRJ*4+N+
MMN+^!9'RL:Y[AM(;K3H4$B>5(37A/7G#=0Z2^(:R]%4/"K2;<)"#[ SRV3)^
MEZ%3M:"OL:]<=GGFPQJU,Z;%1 JE!=(DMI6$3>!R*NF6[P D3THG9!ZDDZ7Y
M4QZLMWU$\XTB\4/5"_1DCBRX@CM_QN1)([.K1KTR66]DC9(K2$ER?7U]Y(2Q
M\XCNCN2.TG?>'27\F5BFD($C4-K?.7WQEC[")V0>CAGF*;_SJ,^[_.FE0P2N
MD)_+-U9NP/ 8R)E_" 3FK@R:WU]?(E\@'[\X__'N5[ [$$2A#6]ZO#X<XFC<
MI=B=++R0RY]!7W+\Q!AW<*0JQH.XN+B_0=<V9?@3.SI+D(;/RX$5R;/_.LB?
M/KYW_][QY.GDX;WI@T>/[S]YD$V.'TR?/CJ93N[=S]+___[QP?:7<1BD[RE:
MGHF*NID0>2=V_NTJ0^$@<5*HYVC@PR'51*_[IU2XU^DBSX8=/7&YA&I6,M.!
M47..O& H".//A>UMM)%ETX.-HZ(.TMA^W;-HW;DMFC!A221;N2B$70;.)!/=
MXP8ZO3A+[C^\=_C@WF?O*?:1@1WIRI$6A[\TH?GOUFF.E&4':%PZU2B_R1)V
M:G71&2DVM"?3NIH+:@'DSD*2I\Q^-:=8 85,%C. PO) F %:U#8OA!;$,R T
M$;DIWFB<:+4PW0(8U+BTGLQ86@9$PV<@)LS8X^H5SB.EJI!O6WLMI&F&IL91
M$+ L,A=TXQ>&%\P9=)B9UQL'H%V13YWG(O,+FO49;],YW7^\SC2$J[3HP)4I
MR:L4NR)%QV2.Y)YX$"2J^KJ,7V)&"?AG_0?"[#I%5FE)BX2..U.+**,0S4;'
M?VJ4U2(#QYS]%D5<R,V!R>FZSEMWF,%8TM_H6.,'H _-V"G?BRQ2RMI$RDB5
MK1OTIC)IT4)C\@!+-"]RI5Y1L@]3ER+,(R><N>4X4JU*8<?OV]X9RH8%2L0.
M5'G@-'_/^T9J\R]/CQXD<V3$-'STE_M']_T?LH (YFTE38JE?N8F;CXF\;A_
M/&)KVKIXW!LQQZO!$T:B#TOP[*#(BH<0CU2?CYA"CT9HI&PZL3[GKBYB4<C>
M2,^#B(JT=ZIP#K04J'=_7OC(9 [C3SMV]=?D_KVP*"/ZY_VCA^&?LDB/CI[>
M=I7^\S^.']W[SI9J%+<]02@E7K /PZNW*V@7SHFE]M H"3[:4!,VHV"ZQR9"
M3!.W)KOK9_!FIK%;FG\/#M:>^ 7MO..'(#E2,5V'8-UNJMLR]:2&S-H,26>#
M'KE7JMV6<C4[(!;OW*PJI"1W?=YTR)NHW0H8PN&'Y5,@#YDL>.Y2J'7<>#VB
MBJ!*>CV%!&K1_R8KDK%S)=MN"+<),,K&?Y&C%YT/??C*7PT@+I4[QOXI65AT
ML.QSR#-TK9HP&2D]Q4"[8570+J'Y6Y0N;?ARIV>P*=0CV)X(W4.3W'FC$<M1
M\K,4_XV2LUGNIE&#V]> ;"AMF5:  WK<5/7RKA0LY14X"84&BM;'CXT&8-AB
M1"#K?!+-2I(HRF,6N'2$FP$ABD92NIS8Z<N!HO@T0*)1W^C13 !YC39TW&%.
MJ6&AHQOE?U7S!1AH;NZA/7B.DM>>'QFT)E.2;=;!3#C'.RUWB%P9MI7]W$XH
MAUQGW9_[]#)-@%Y\Y^#TS<N#NWU;+3#-,8]C"856F,4AL'$/^]%_]J00(U&2
M=AID_.AJRCGRGJ/"O^3-@"7+V\'.3TQ@R:/G'CT2\[!V"+$,8S0BI%V9!<Y=
M&XR)<:^2U"?B C/]CMM&??DX?B)\HAP:NF+[/M(HH$1&@Z49 Z7]!I'XD%>0
M-S.8W[)NO6]:2@]H)40I1\G_%OGON,D$P42:Y&J4_(,.8IGB)-(&I:A+_S$M
MZ.DO@KN,W?V9EO7\])GO]\8M*++($C)FX\B?MG9MPL_*!;9FD)!M ?TSM4.W
M'!2I "31N"5;P!Q"G%6Y=MV\)<OQ3NRZ,--HD1OZYZ2%U5T*.:W_%RCG/4&K
MJH<%&7;LQ+R=]6U06OIK-TXD7LOM;B+MK0=3-*,3X MI%F=^"\3&'KQRQ^A9
MBW1"N/88H\+ZJ96CSJ%N:9]W[&7OK,_F>L91\I$U3/Z5!BTWP<C#X#1//&*#
MK@E_?P85=L9F'<GH_7,>P ^O+D;"U^8;)OD8.6EN;AT"*Y94![[!2R,M^M)&
MRU0TY(.O04M%E\YNB](&*R4' AWY_FR0.]@ H)Y8KD]HQPLT=K3A>54W<?0]
MNMJTNXW_?0^NE2:_X!FGI+27+5A0O!*HE)$8S,I"JNR-:M_74:)G7.CLN2=K
MNL-;&1E?8TR"(8@P#HK$EKJG3<Y@V<<W%H=B8J+W.$AGP;?5HP/8[I0\?,1'
M;!UHX;)YNO"+PQ"32%DK%\R0^-S2]'^\NY%?H6Y]Z1E.O FTRE.W>X0SPZ?H
M#(V=:_:W=P/,]"LB0*G13RZD&0H C'4BG:VL!7CH(M!8&R>:B76#\KV)^,BH
M4XS[U7H5 0<4^,WH>98WE%^$*E>< 3S\-VV@H 6M[UNEB/50\M I7$@U<_27
MTDZPQC+<[T+5ILT[)5F'K1YZ\M ZEMR1'(MQ[:P)DC:$L=X)F!(/=A(V$2HP
M+<ALR,BBF&C0MJD\6[.Q#^]1%1Y5\6B7417;O6-AM\[G9"I+ "ZJ/Y #!/PR
MC-O0Z$R.K82.?=[:<2OSJNQ?0*'7#]]-4O)4NB5*H5IQSB62U7"/<KX-0^-Y
M/CMT; TFZ WK=*ZG LYB6H.<MC!%L08_I)-1:_N1&#N@K"(:U\;P#AE,P%[G
MN*,9<'ARY?!YW\ .HRH1Z<WE?/<"27RH"@MDH)'O(K$(]H,*6]-P+6_?,/O(
M2V972%R#['E.[Y5[04I[?(T>TC$:]N([ID%,>R4JW>1T%;":=N^:'O8=D>RL
MTY"ZYW'UO1^DS?@A,RRK<KZL#N$-LHEIII5OG\/)4)\UBD(B_M$<PD7''1-C
M#F7%M5<BUW..?VO4(KBY$2N?1NUZ#R/!G+82"W-TBU5+IKF"D3C7<B"] ?/4
M*'HB-JW .>J=9/F-[S;*0XL5!%=D=$T2.F*L-J\KEE%X4U'$4=3?/UL/HD8(
MPY\M \F*(+1P=)O/GERDN0=76X673_')*/ZP\?O@WLX:O^*H JB<%@KC?,5.
M[TZ;O1MX%I&.;'7\.]Z= )=**^/5((-%?2)&36Y#I !R7%6Y9A6'^GWSD9FZ
M:\DC(V!Q+W[4F,N:M'QR49.>JY<2,<>5NODQQ^N/8:6+\_1+R<0$%T@_-6RY
MUNI$]W3I_=%3>LB_..;>$T_XB3[0 \<>BO+#HPXISVMGZ][#I@ A,,?)Y\@)
M*=%XN/G M$5U^(7,\F92HTV(:<\4\4')R*:-#T+0!Z*B1_01"0&*"VKZC.-D
MP?\,9D28S%%RVEN+IT_^:FK*NT?1U$V!XK\_:I='6JC:7_FG3S_!VP:V^6L]
MK*L<N'QB+9<5']G^,AX_'#VD1>ASQ@^23?:;AZ^)WUHBWU--*@!_(FEZQ"EA
M@O)6O'*9E<JUH>6@M>:3"=(B8RYL?##A" -2KE:&%$+967:(A#)?(OT,H$;0
MM1F6WKUCHXYB*VW@5^FDKC3E-49PBOO>ECD"!C(*&>?VK>8/"@Z9&2E#%(8E
M*'"7>@\FEAO11MS",>-7?T ?L;LRJ(8?C)X\C)7FQN,)R1S6F'@H&GW,S4+8
M- /$8E=.1I":40AK;[HR]'P,3W"WM_QUE/C#.ES6M&#]9?)%L(#)&<(^96X'
MXR>PM8VR87I,XN,L>V?--^.NP+SN;*R';<!YYG/7"QCS,0,8?V ?UR5 93@(
M#U]_")2%#KEX4<\_Z18J\P5^74>_#KZ*MW,D*<WA?XWZ@0(A0C3[T)RT6X]S
M< $2PQER.'N9M)2?%L@^BZZRVJ4KTM-S9;&P)]!"3 \7Z=)PIS)$]O.ERXRZ
M$F>O__'RV>'QTX3/]CR?[+@B.J7]J=U*NH2;T9)X@J,=E>RYIK=]-W#9&E1?
M<@=E]#A,N?$E"PU^[F6*98WNK$Y02B1 \AI]ON9!N66C>1S6[;Z7%:0!9+5H
M>'[+H4@]ZR@OH*3D?+?)V[Z-A/?.\5T38*G4#X(HLG2LFN\&2R]J;<OC%OYZ
MY)N4//'*E5E5^R]SEC%SN.2Y"R>M\557 .R*^U9RFXP*O4K)%Q7>1/#F6J+J
MSHD?\_/RDJ/,9)JF# )B"05).LKPFESK7'\YNC@*AH"%GDUA&R*"Z_5,N8BG
M;@:#5T\]51/'!F5UTOG8RG,M3RH!\4M&0X@GKV-?S)8-QQ!"NP%Y3"6J8V[W
M_C7?"'A\44$>?*""&ZE:NP!-M^6WX>';_G40+]KJM=A;.4,@"/46+]RX(GD.
M4:?8^(J0,*I8YRB,.C3.3ASY1<4G%J>7.PRM*72&2DMT[#W_%UNUKG2M5CE[
M=OX-(Q]'C:)1U#UL+"[[EO'J49)6\VSGJ6PM%JC;L8Q07(*J3$-\(>"47,\J
M;5+ TU\4.CZE\+##3!=)C_QCL]S\^9(EC_?)DILL^, <T++6]A6"D$WEK&JT
MA(&1N:B4,%<8:JQ5NE*[5J"A[QP\0^$TJ<*#NYZZ!4WM2!R"9A\%[/6= RTH
MD5S-0:A+DU%Y.81I!XZP(ETT[EO[C^^RO*%;?OEM7O(L^4=6U*O""XE'NA4W
ML0HFRZA\K'OY],'1X_N/L)UM3?^?V8MUIX]XI[]IL_7/'CX^>OC@>./']XXV
M?W;38X]/CHX?_[''WOS9PS_XU'^OP3Z\U6._86$0@2"1@V#^U\']@Z \N"+Z
MVY/%^^38JJ%%PE DO2IU(G"?^L@_^=")OR?EXZ@@\+I))^[G=/SP-I,2?;Z=
M::T%QWE:_]>E]:9:B=YDOX:=_"-)2UZ%.QRZ)O>1-&YS=^,FA^FJ.L4E1+--
MN/PBL9%_50( !..GFO ]3/?@S[-P]_8+]X<6[OCIQZB6=8K3R<21PWK3K(=T
M#BW=E\^F\HPO-$0G)N&WMY&:37/^9.+TH47]5Y[Q;SK(C[L"$_[?I[LAE\/7
MGKD:JP(Y,*%[R8[<[#=.Z"^WF4D\@QH_WJDIG#Q^,'IX<CQL;MX@:1\QK1M.
MRZ:#M9>(+4K$P\>C)T_N[R5B+Q%>1]P;/7WTZ+-+Q!<RS.9YEA5N( BJK'';
M(8V[%Y&U2&SMLT!:'S$-W,<[K0,Q:)@RA_>/!L)U2"@)J=R=X[LK\=75HW_R
M<?L[>.AW[\@\&AW?>W+C@;FM-']"W?K'[=M_UTUZ=._A?I-V>Y/NCQX]VN))
MNJ43ML%<V>CT?7@GOAI#YI9SW&TI.WER;_3HY.G-<G:KB7Y1<_C64;I_4Q'[
MVJ3LT8/1@R<?T&8?$7C="]I>T#9&=1[=?[!=0=.K<Q70PN+U<4)X<W[B/HTO
MJSJ@#WK:^!9/^20OW*EW#MHKQT_^:.)4@L6?GG!L>V[H;F2 DYZG[T'5"N(!
M<"SB-62H;UKGX[&CL9>I<9Q?M.C8E-:M$_;$)&\*9)29_[RKWPF^\BS-)U4S
MHO\MTRP=,8"3NT*=@IV%QIN.8ICI:9V.D^?SO&:TJ>&.?W8 R?/3CP8<>I:Z
M;QC,\_44ZDF:C%LT[39Z\U</X,UR@7%IK<IJY]U /^31LWA:\^U*.=]HL&)H
M0V>L-;+[@18W_<YA,CKA BJ=M *;<1-&QJ1%&#0C^/<<9PLZ WG5-7%9+.#5
M4J]C;.YU52ASWMA7V.>]WYB:8'#WG 'EJ]6]7&VPD1(ZKFGHE<Q8H?_ #F">
M2B%,SV>P+--X ?G/-97 ]W^K/XT7&#!QFV+*O;]]65O\9QD@_Y>M!%<V'[&@
M];XI%<\84+M<0"6"8D$&"\IM WQ?.C#>+6;Y!'U?:]1-Y%)$*3R/3LJ7>6M6
M=[5?<NA5F2]9T,4;DC0O95H7P87R'=/+ C1OCYK, *T/&-N\M+H,+KJ*]J%V
MBH;D*T'0N+R_C"CN+:5Q=C7:I"KNZ>DQNK88RXCYF%<B+!@O*2\DV,/G;L-(
MK"PF:@V8*J>XC<#HL?B)5@QSR,./6DAII<3 F1U:X:C #73(?:) D -6GF>9
M2V;*1FX5*_-?W6SW?N(6K1*Y]CN*QI*HE-OSG/L&ZO)L7;E^Y+W@*\_I;I *
MJJW/X(/@_@"R#T46OOXK*$.N6&#6[(B;(>#:)ZJ.6>RXM&.@45M?YUF)!V13
M9L>$1Q_L!R"ORK^.2CJI&HA(U<-Q5E+4B(TBE(Q*,;)44W3SS77O>@K7E]H4
M7731L0Y0(D.4B=- XAJ8T7#17;\4P?-:^)M/*A_ ,B\%YZ 0X=H'OO,;OJ!J
ME]-KZD;X\+B#.+/S3)Q.@)R5/!BG4E2]'"0!$=4=36,BQ(16%"=E*+V?]/5S
M6"W&K,N2QP4\L5B"4[YWQS/S'5\K.H*(S"ZN&,2/E<\$5<O!9IE7Y:]0S]K2
M[+0@(YK[?=(2,R%7RH0?;.V$_@!2E^BOA/@6,[(CJ5C5)D98Z^)*2FR,P$<6
M:T!4(@'4@K9Y)?5UJ9@^GI50ZV:P?\$0T*X"GGDH]1R#TMYHK55;6Y%SN7W5
M?K/=##FOW65:2\>!/V;;<H$2'Y"X,*K7P9L9#IDL9_).NQ-PU;30^UB_$+:*
MZM *.VH^*X0VT@T;=9_*T\@:=EK5']AR4A#6!2LJ(I76%^]SJ>;KG]ZXD:4<
MH>2RJ,;&Q(,11R]J*U)\&;YHSV>CW*0BU+N"UQY5X\;!RC54>L;,-S#-Z7<#
M.\-U6Y[:3CP1QQ334J:WL3VYT(&EM13FQ5:.G;B<"5J5@)<KSZ(M#WO,0V5F
MRVC=C(,U'8/X<KPTYI]2CZB:KB_/GAT>@ULD8R4[8N(#F@/+';ZM/9;M"[RE
M69Y>EA7@<*A8I5/OK/[SQ<LWIZ<CIML3GO%5NM',S;%"GJ!7^GKU.Q[[RU^T
MBA=7?[UC#\)YAIW++K[?EQ'.0!6W3AZI%=IC2.C;JZ+LX@)\OAHVE4C>DK?H
M_L[R%J$_*YDSNZT&=9 ]0@<?:KI&I"EMF.]UR4=PPAQ[T&*7)9/2&YMVZ=[3
M1]>XDY116P4V>%CT5YQ8I5'V+Q'./O_(C!NY2(!+;B@Z<^/(=JA0&0;BOJES
MV@M(*-2"&URCR6TMA#OV'?5$1(^'[CO"H;K.*G#**[&I90=73>/DR8P/><;)
M6-=RO8&(;Q>BG)ZEBR@]RZH\#"/6R00"TG2-^>TO)T\4DWG#4\,3Z<X072X;
M\@E7XM['KP2IPD^[% ].;GK@IUJ%?26NK\1]LKD2]R/4]B.OMO\\Y;L;Z.W,
M%JG*W;XJH+57N:4&HZ/:6DT-+&U;Z>S^B'K]3,+4Q1^*N62DW[.K+\U>Y8B
M.5K3#ITZK*VZ$10,-P\D/<$- [D\VD<91CVKUC\XCGTHW[&[J@H.>3!-N30T
MT=:!]#)PCT=MX.7^B>UI:5:X&I*&B4X&<[Z(U^'*>68-:0!@[!\CV$FE=[E6
MG/?@W_$U#OW&#<TFLZIB<W_L2#W3'[K0;29V.ND9W]Y2]OJ-@^\_/'JT;ZL<
MAC#45OG@[\9@;SWE1B2]PNF=^@X4Y,)P*(SNH._V6_'9MJ+FOJ%POTU9,2^'
MR_:+_OD6'?XE$Z58%DK67C-6Y-1/Q0?>[\'GVP.GU-]&0&W\G;X?4-[K+;'?
MBL]_'=#]OU?VGW.AN;G%7M=_V0LVM'@?B"0V^Z7_?$O?ZRJSXLI8NZW]^G^^
M]8]9_QG=LU_LS[?8(=B[1ASY'?Z\7_K/>*T*$*1VBZ[]&EI^]N(NPNHHT0]$
M6ZZJFK,;H9]'%!B1Y'?CHS(2;UH/W'@ FEO%8!E7.?WSS-6EJY,S1>,PO>4K
MY>!_&0%AWD8AJI?E!#Q\^!HB5P=W)9KVZOFS%Z\OWNKGTH(TA,AL<CREKE%>
M<[3;&X L!@9O/DQYUF?PYJ<K?^9*N"]F0Q8PRQQ]CY2D/;1)D[!]U"!86P)/
MUWG"%47)+6\ 7MEQP9*F3I,*V=SE[87!>G2>%D4SJ?,%33AJ^NI[@.KN8O6>
M+_))<J$+'@G0^MYSW#*D@VG3E7B5>=.%('UDR.UE!  51"0#:(:CND@4KY)C
M&ZFOYN][@G64O*BND5D>R:L8)=%4<]?R%FP4THI^P*"4"6-I"H99<F\^__Z8
MCIOAG!UGA^PO JTIHSZK87UX%"+->2OY19;^:%H&J>'L58((-*"G#'UD),^N
M@])^56 N&E2OA]A#K)BFYR$4$=S$]S94M'*2N4G.B,TX9P8@$+-JFQK@N+)F
M^"_QH$/?V37J&85\HF#!5S<FH@J6QT1XP*J.;=E8T75%QN/+N)45;B5.#0/\
MU@/.KG+";P)P?P4*Y\;;9PCN&UU!;ZJ\;,]H,]Z=\8T4-(FV56KK_/T9JXA/
M<[-$7>8V-ELX2C[G';/2P"3"17WE6_T'$6O)'06MRR4DJQ5%2!B$AHN#-HMQ
M8%GRXOS'N[$4G3O/DOU"6P1!6D:,ZWA-5P+M"^F4'^NJ6^@GUDSZ!\!:[>O_
MA]F\HZM/_OR\;-P<.ZP(RC<*;Y1KJY06UBJ@I](!;5696 \[O@1JN4[4*0XU
M'$XD3J&W=O7%\-NQ8Z1G.;36$4+B;?S8-HCRBL#2OC63:N&+&G1/(W26']/
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
M.=C9=#ML'1Z!  ?@&?A=8 !]_HYR/GVQP9*4@"8M@25!ETE5"Y]:@1U<H^)
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
M1]-!89.U$IW]J'^$GT+(&'10A[^G. ,ILZ-*SR_K#^>D38"');*RI I3P>X
M@EKE4K_GC$=OE(KBSQ)Q)1KY91R<\:CWU-U3?I?_ >7T$^]ZOHZHT->"V7H1
M\UFWZP_M%?!!"*Y'FM"/\&MPA4_>SR%=E>)!R[D)E%D.8X7O,.")OR]!?'!+
M@!75NJRWT%(P!PL. ^<ZD6O#W00M$.SWBFDF(17*3Z7F@>^6)!(YP<!)!2&O
M8"H_F*R$9Z2)=6>%-1?+Z0!#6]D.!WYFDB,S^37+Q,:3?DR> 84+'Y<,H)M<
MU<7N0D8ON!+$+$3V1SI-'*B-3M^KM6!O88M=NE!?\)&3#&DF4=-4DJA6N$,*
M$&#A5.4&&8]T,NF^MJ^+&E-15.*>Q1.4%K3_01871WP"P&PED<YYK%-;/G[Q
MRL8:/Y,J=+L+DD1D) @R0T. TA"#BEZC<*_B#!]?E3RF<T +Z6MP8GBW8GB=
M>B1J1[[GNSW-Z_*?,O0^XHEDU,8Q,\#79VF@/2@V.6ZRUCD:XRST.*[/_#RD
M$!9ON)+^@Y?!DVI0%7C^XNW3X^>\ESH(<O:I@Y.XY_#:EPGM/"])%[TSI*-H
MN2.YX=0K269LT%6:#CPH:YT0@SQ!IQ1MTDL__L8@?T4 7@S=^ ;BT855NPXG
M>FRIF>45Z6VPFD#+Y S5+AE[6;Q3_7GCG9@+7\9&&7DX+7P6AK823T$?3JB.
M:6^E/34:%EF@T$T,\+XAFU,/T053#**'BVA2!&8=4]"0%QK(2>\[Z6ZTJ>[!
M(08.^>XN@T-N]UQ[JHT2O*QIQ;$).M U"4<,.>-AC4UEA#F\E_4\L ,6L67L
M)4&SJBN$5%.=I.0P>,MTRM>JXB6P+XW RE5:*0W!U+*@@%<SHM)^&SD7C&5I
M712]CRV%(X$[("BP,#1[+">-X)547M]W-.YS7G&N4]0R"18KWA?@^)?0!DW/
M)=1$["STAS\*[6B1*\1P<CG3L]L(W4"2<W'%S'VU3-=O[6!N28V30-W6?IEH
MHWDW-:R";1&3#DSBW:1-LL;)R87!D8/2D6U&^H&A%^%]O -%<PUNT/2H<(FH
MRSMOE_D:I8]46DQR,^1P<0E$:QTK5F^B=[P[K<_744]U<!?FWBG&Q4_ -I"<
M* 27FO;6<-\,F'EB+N94^+_0BD?,(71D"A*4?[RGR7URMTRW;H[?X:/T_,2J
ML::IKMNSD5J,*UHVKM>EL3N</74O'<?:]<Z6*ZZH56@O2'HRAH2$33U8\YF@
MF'B]3_/8HZZ.TNY QJEG.@(R75K<O/5=<<-L"CIG7\;.V=^Z0J'AM]M>^5;;
M>DM2DDC]Y0>#5E]!]//!L8\@TS&:/MB+KPM_?_SPT=?)P:G(#,4%11R# ! D
MA T+XKPI(Q6-DN%,D*^FV'Z%*[Q1#IM81Z6=+\W KM\JZ0/VA[:60RS89.?
ME"$P2)(WCL,1SE00@N;"4)YD,.-1:*RT<:SS#FZ%%"'H0*F+3/ZSOV@LIJ9_
MGK5%,4@9W&C2,M\B2#8XB=5S<(L4>LF%HZZ:R.>POIR2KZS1_\;:>=I5[?T%
MI&?%#:-R JT.X<3DBH".$'>XJ6>RW81=M"QD%&.2/E'D, C87! O4V?&>=Y&
M]B'U/^SU!YA5$U"U9[4U(E2R26=&JK^@?%G:*,O9_32G/2BO&YN6G"PB6.!?
MVD:(JW^3'YE+JT/0^Q$8OW7FRD8S#=QXO:%L9 </6?Y2X0/"K\!T.WIT^XH1
MYPT= >J>%_G4[/R+(=6!=3/=KIE_M4T;PR,P2[R,I21=8S99@'-)(4ZIP+0I
ME]^TDEUD?>(DQI:W_2ZMR4V27LL5J4%9=<,6S)H?\4=<,?5NH;1:QF*E4-S8
MP^ZGG!!@, >'E$@>K3[WHIEVU.X=B;B=0B#1 2_HF$C<-O).&EYR*?P2=&7G
M5+H(:V0<)U0P)-MWA,H:0IWNRI>?YJ0;9"GS)1"<>,;Q(1T\M_6V"MX<R.88
M(;P'/!8Q#.1G2&U[9'OSVI'+V>.6'5>*8943Z3(7;-%OPT0I#]V_=+Q"I80E
MNV0H+AO,AJ)3*$=QE&G-9#<X7]JM=KK'X^'ZYR,??DJ)+UG(J84Z(6]*%2K<
M'&L8 GX5RS7U[980WK0L5?5';#5B&$*!<?T (F*M8>U%_0HU:X3.1D26N NV
M(OR)PX^R:EH?[L3"JT]GT&"9DHJ=GM)WO^><;%WY:]]FOOW3YBJH8-G+)NFB
MOUJQ"1NN4TN3YV%Q*PE1V'OKIOZ=F!V%J?>HDG7ZV8/XX8//J;TDF+6#,!_4
MY;@BN@]X69J=+AOVHDC=;#G@)]ICZD,,N:06FK"F&Y>J#K>QILDDE]6=65";
MKR!T@$"^$)HZZS.B?QOGO>O<80#0GO8>03(JBV$BW)8)+PI4LHBZB2TAT')P
M+JD_HCOTHXE\XSJ"W%=A>18I:DC)--X5 O 6<$RF8<U9/N2;V3.0$0Y-$[N4
MG03R+&%<0/'P7$>*#$<4_X;KQ6,?M@MI/IJ)>%(0[35[E;QHB%*)MG)\U4O5
M#I6S,#(H<)*4(Y.)8[FYY&@5RQF\B0/O3<Q>O(U3>?M;]J9=@;+"CY@EZPU8
ML@YO5=DIA#4OT8WR^.'CA^Q5O*)J.P)^UW0/B21RP&"EQ7XX&,CL;5RBGSUX
M]>OQ@\^UI C)]2<%3:.V$LCO42[8AG?PW?;/GTNW/1^"0+ ^?D1:]>''V^
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
M4O[MK]P; F:FU)R4'9;7#O)S\.A CZ')&)DE#><IW'*YV$1P$\#S$9A!6&V
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
M0O@K14W7;R%P8C0[, D4=1'<^CA<U=K"G8"@4&Z;NESH>X1A$!!\$OJSE.8
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
M[,B2X[OC4Y@X_K:7G/-_:2+3%[/V;9D1W1H*1IRQ<.U%$9@#-&!F^LP:2>"
M:MDT;Q<]MS*,C0F%"H#W2#QA651J?"7@G8NB9RR::5B^J9B:PP\&@)%?F%-K
MHZ?:XM^,[%)\SH(?6^.A&#F%>(]I.F1-Q0XCQKS*$C9W69XNP7-.4SK1=9G(
M-JP5A@\FP^BVHIUNX2>4;2K:81"J?(!I&MR7'N'2A8BL;;:=+Q]Z_V[%T7#J
MH$=?.NWH2 ,A"QHL;HS$!L.B9AH$:&(K7S8;9I>.G(Y=LOZD:I^@UR[?#M=>
M_APGI L@J?#W&B-?16BH!=EIXS-ZFB&,X*]S:MW4._GK1*:W/C57.A1_-@!Q
M#AT/:.+SL\G3CK2J?%=4_I<)K>G>[ AA;(BZPGFG"?6]Q0R3T H)BRY+KDRF
M59!,B;F5F%:YAU@8Q.*[3P!B<5M@^0]@SPR:&C>(+?/Z-*.8C2Z- Y\X/D]%
M\S:N^WL$VH<J+HW(8,D*WA?P/_!X4X^!I)_"O]=S=,S=2V=^N$H[]5&5Q+TM
MZ1[4E4* 0L105BCBPM/.F*N#&0L&,$,[MG;J4$C24UPS>87[&?Q@(IKD+Y W
MTR0N5^22O+=9'QBE'),?&4Y_P1LZ",']%'RX*2A:9MX@N'Y3E4M*-"";@B0D
M R_ GGP_"1]L$DCBK6%V,LX7WH_UQ[#WX/DC6U-1-8M(J(CEM.XD27$_"1]P
M$C3;X <\%M?SU2I$:)3VO9<0_\ G,"=A"9)%6>A4HN6B4'+P.YZP<_(GPU07
MMS5H>H 1"YTD[!UA^"!IY_JSXW>NPYVCV?51-M47=IC]A-.C<2OP81L+@P9R
M8GF74?)$"B'="#R0^\.<&M=[0ZC,\#0S4KF<J'#LO\6&%%R4*()[O+8]V YH
MC)(4)V#!W(W%9*/,8Z:4[N^96TCK%^!!7A;=HBWGA6"*R_JJ-^;:#S&,$JT8
M$?#Q UJ=9B*-M*<#ED$/^S),&$\:0#SPIFT63%Q#U1Q]);=6K);KS=J0).3R
MD1X-M&/9P]-\_?#_XB)4.I"SS]9E374O>2HJF9!:I#Z1QI^?9Q[/4A#23D1&
M2M5:N'SME!UCPB$(WR!69269QX=?/Z3_?73X\.&H#CEH$>Q\4EOQ1]A0W%(M
MB/#+\!)6/UH6YZ7L,:X-;UF0-PR-4:NE14,0K5WDT.6#2D$8F:647U>^<KB'
M>')0"28#J3R@OF8[L</V[IHKV^DOR8)VR93ZG:;X(\5CS2VG$"$2>.P4&X<Z
M(*\&D^]0$-%.\:U-:VBB\,M3L-0)%9;]D[FA/KOTZ3X/^T.T%I1:25;^= E$
M0&?_[ESRQ;#'5#M+(WM>!55I7J^0H><^K$4%XB$:,S>[UOI/P*KFM, F9/.\
M6+3;8NE0TQ$" JT+)C\MUZ1'P8W]RZUI+%,9%L5<$;">"<URL0#Q7Z/DA*-Y
M9D\7W%8H)J,$W>I<HTR_J8HENCLP;VR$]:7_A04:V2Q[$X:S@S@A@4:]4,7^
MF%[.L0J U$CA&R)Y9P7].-[_,Z@,CU^]?/GJU]G)VU?'?Y\=_?ID]NKM\Z=O
M9C\__?7IFZ-?9OC-K3ME-RQP"YVY-P>Q=&PT>AOBAC61!<<TQ^Q4M,+6).*D
M74J\\5F$BR6J]/@$$54$;&4SP/5; 8JLKNY-B""$"7Q!YEH7HG!/)*H=P!3N
MN O]DXI<,"5(OE2'9F).VF#]J,DK' 7!F&!D!3Y7<;([C!&9]S"O7;?%N9,6
MXT3FB9LH:.*.UN&IJ7GB1=WUX?3L,3_'I"\!'^8U..=G1[P$^'"FWSVS:3F*
MJ^/$6+A^:L+_V!EV$A/R]*>G[WGUS8[)QH!2+M'6T!EE/B?B6]NVW3:O1_HF
ME$?HQ+R2. $3#3-7AB->C)Z]IWQB NRBJ$5@ 7B;17-:DPC66,6EB71[=$;P
M\ ZGB.ZF4\/,L41)KCV\-GN1K0S(Y@LRIW@R' C_RDM9]R! D16C^-F/, TX
MZ0RE!B7!20S666O6@95!M<D<JI4.A>7L@KV11SY<:XU\]N#9T<E/#SZ?_LXQ
M,0:JP/MG#XY.CL,WWS:;L"2_>?A--OO 8?U>,SN]E=_(PH4W?"QS)M'#<1CT
M</*W779[J8@'_^DG=X@:VM#3@BUP2/LQ^(7;G[1=>N$E^B)RY<2IW#0D65&H
M&)_>040]_B+V_^:G]61'W:)IAPH^86:HC$ !I3;I231YVC1+H$I!YS>,#%2W
M2&B\;W^(KB,!:J/!+O%OAR>'REE@LC/D1+O5%P_'SQ[@^S\?';T.)J3G5$PZ
M4BLC-E\S-J_>XLKJN#A&8;1J@@<"Y.I49C;!07<)F$J*1NVK9J IV@]VG]M0
M@*9))O8>VV78KN_OL5W[QL899L]JJ\L!=N']AI,[29J6K&0VM"1ZJ407J3 D
MO?^V<G*:-\&1L;9?]"W!,O"WU%Y1T![>0N]RS.)&_T%=Y\WB'>U7#JR_ %4N
MX=PU=UO^DYV %5\SW)1ISZ&>NL2S NN>9'Y(< R?BS)3."O*,/+2C#VPB8/M
M#X8X28>EIV8:.8L=</38B^"2P>D+'M@VT14G&W[./$'!_9+>) _Y=%8AEUON
MO2.[E=/WC#JQ@Y><?IAH@E@65410I9.<KJ_2+LF2494#:JT@#'U?<NZ=M& \
M&!GWQOC&!&9)*<+DH4VR[L\>?/4XC>K8[X-[*TZRR&" ^(]7CY&D4.;#K8'F
M.F<IJ704G#RAP"$AW+LHY/$QH78==PMYD7"GOSW^[O"A$3UJBV=#:19J<VQ[
MQB<_?OCH6]GAW))"3_BZZ8*Q7E#X=DRGR]/G;RBA39Q$X, L7;=M6&&4? R#
M5"#C9R'@\R*O^K.WQ>(LBXWU@(-(L^1_Y>%$;'?T"-]0^<#W] _I.Y^_$*V=
M\;N"%77:G*2M"*.,>%BFY+8H??TNS/VL !OH@%3TT;=WW*4Y<CCUX0!=U66H
M+,CJC4_YO**8S0$?_2=4GB4)C$B<6:]%J"A88-J^:][P?VR7IZXZ%V+=M;#%
M;UGI!TN_ZX1TF:V(45/9*I],2G,WDK.F[XAM/=["!Y##SLP8JG"+6.[XV]V>
MX8,CBP0F ]W<<WNU@1 >ZHR\ D5\;QLB%CB P4*)-(&D;&VXI-!)$^;58!+2
MQ-$4WP%2XS_1([.M-Y1A7O0#(C*Q3N0J#YT,C*E74X,0D4ZHJ:HUCHF>/1:E
MQ7290KZ,\+4N[)"C3'53BP=!=ZBH[0ZTU*TZ'%=: W&0*3M])^P#;]]@/L<*
M'&+!"^Y^EX&7$WL8T_.I1>N8"X/Q!S;T-$%QR+39;^[92VE0I:XG_M<Y-;7S
M N FM2'3K/:.E4Y*BV53T);DC3\49RE;M>65@]9YUE;S;,>F93!G[JMUCI[,
M/)+NA[DN.U#OO Q?:)"]RR>>!')NI   NBY*4\[HA&X'0K*JK1:NNF2V55:K
M8#(M_ !Q7]=O&KBTP8Y4S,5HM?J6?3F^($@#)A\(C:E=5,2@]N8H-R&/D]S
M27G)G%J?[4!Y0J^C?(6<Y+WDFG@_N2B7HF(+OJT:)BB(QQ02J=HPN50MD;Q/
M[Z"D/#IHT!(C33F^CZ=V!L-L.BI53(3__^R]"W/;5I8_^%50'F?:KH(8OD1)
M]DQO*;*3:,:Q_9><[NW:VMH"B4L1;1!@ X1D]J??\[H/@"!%RK)(29B:F20B
M<'$?YY[W^9VUFY.7^$5:3_8NHWB,W &(-8X9XER#')#XPI"?R+ 5K6#+G4&X
M?\2&&W5KU8YLU&!IHRH98H>M)D?LUAPQU^1D/C$$Q4R7?@O;$S=7NF&Y0G-
M]WA ;KNM2D\UVS?;YJQHL\76GI2;(C>']]"'5W(/U!YD<R8/?2:2/S?RIM$W
M$O42N*1VMN&-[C5F!%@DVIM.#FS.;3?G-L>$1L(605PLX6D81$G1[V#="?J7
M"-,*30;?D)J8Z80O!Q"W.<B'34LGGSO'T@*!;7/.DU%!Z/Q4,@E*!VMNI&Z(
MUISFKHMDS24,Q65B(*DWZ!?0',4]'@7C 7)_7\Y6EG15^L&D_/#]8YT^O<J"
M:7-C'EZC=ULMN(U[C5MHBKZ+1LEXZ&)-[AH[KLT_H@X8%$X1%P9WZL+\NL1!
MV)9<.+IOHNB7V\5?!L&ED63-^3[TW8M5<C6?V#3(T6*D66/)D4@%01B#:HYH
M1QZINDM8EP"(Z; *1\\]-9W%Z8*K85@]Q#0/A:9W'.43_F'CY&+SL:R(E00#
MAFG8.,$>F";JDCTI#9UK@LJF88E:#"=O#NQ!K0)"E4A4K*/P&S5[:8[@'H]
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
MG8). ^6:;%LFL1%)P1\'W8Y_TCZL/:&=TY"%XR_AB3C9D'L>@T!&9("L2FO
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
M5R'&S^N?X@O.R3K&["G(("+SC)O[&E>G=DYA),8Z/&%#<!>(JK#C$-RPG+.
M8G45C!8KOFS7CCKM09H CPE&(^I5#JP&;DN:D4M,?X=CE< 2?S>_22>B?/FT
M)D&HC4"VVS(U#<BF%25F&H5 ;0<3.'[OI UW"@X-)2_>B@SK%?!#Z0V<5.:#
M6I+C3!8J@(ECER_#?.$_3N#ZW"Q-(%0C8!VY(17L,57_'3EM'ZD)-]YMX>1[
MKZ+76LTR?-F>,C;5 DTJEWB%/CC+,% KC.:T]3(1B>9Z,]!LT$KRK5\)MN9_
M@J1 GP"L:X ?CS GA/0UV,MQ)!D56E=D/N"+)R%"=PA3;G %C#/G0""<E [E
M\?,4\8'#]G#SR8629\6,!D1%%N?'':EDQI5[Q(/ ]'5>!<P2IDGWT0#XYT6"
MV6>2T'$68Q!QY*X9Q>FJA;=<'98^@:!&_M(9PW\76:(SWC:A*;HAKV2V:"$H
M^HX:C]5HGIOIRA&5CARX5Y3([@[A\W(ZDJ]BCJ1TV>0=MA'0(D8W'TZ!-@MV
M@K1C&)Z:SJT[A2C73'\"KP.'&"&O1!^(8E5'?@4C([U22,+5LZF> ;DTY9CD
M3HZ!=F'7I(,<[@9>+U'VT?>H8\:6BP #H0UD5PU7&H5$)L!B0^IQARZYJRR0
MS$18JY9BS!*T!6:<1WLNI$XI)XE,MXV-TEA1FY"R/4DB7IZA/J9DK5%4"NX6
M[2J\=0!'C8P,__N:.CY0I[B,]CN$)^)T9N1%C+F^"R"/JX2T7N;:9:G'"@J<
MA!Y$%(=_*SF4>LW!T:OPU.9R<O@4KH$_L"1@<34EE2J_5:<"NJ6&K\-%W2UA
M7ZG+@@U3D#Q@XZ[#U%FX2>Y+8<8I#"%07A)RQD,QS$=9-+,N]Y)OH#;J*!$;
M\1#PS4GGP&@3=B36J+)#M4@E!7I99]UO@O\[::K"YX918FRI"IU3SBFGTL&N
M",DKDQT=H1ACF4R""!:&J>FQ=)]DXD>I@(G0W!-3)#@_["288L1D3"[]?*[S
MNXGAPG7,"^R%PBG-Y'F&8\&F*0%=6Y>+FQF6G2QX@&QU9,YR0$* & 55BXU"
MHYD(YXRF4Q72=[A$E%=CTKUY+117C/7:9RB@L9I4$L3MY$+M?Z=*4$?OA-F
MG,%$1% +02% ;D%R3;+84]UD\5*'.HG'7#(1ZDZ*I7<"U)3P @SQR@$SN=D]
M-6[IWCQ/0KA-H#J\6R3PQ=&MS11W; 47V;"(R8H1XOFS==GB$&*:Q>$-<#\/
M5.TDG>J@F'7!BY</DQX"2L".IW@'4#9'O U$G_;*EG)E9)\BZ8^-_DJZ"?*U
M$:?KY$2\0 OD=HTH[D2=61VQ@K8"Z4S,J&D%H (7,5JI['\Q[D7Q?&*OVHA\
M+GB!SO'RHV[&2KWN=DWV"-EAK@QCM8((W*3'9RJ:#D$(BW]Q87=RK$+J\7J5
MP@U-=-83)MOR9%$E![TP(M-FH?MX4W##>8>3?W';<L\1P>;68B3.[FV:78$B
M\&]KJH%66XP4<2@>WW ST*[(2F<'0*:TL"<QHM0!\)\#$1N514[34.$Y<^AK
MB(9=EK*?.T(?@!>$UP%IW[I1,;\AU2VD"5]3,T[4D ]D(CZS45:!X70.:$'7
M4<#JAB1/E&8BDM;LQ8CJC+0^0?8H,5;JJRS"PMFL\R_E'7&D\5T3T7RM5.L*
M_8(M69.:[7S>Y/P8_Q+:0#K$Z!4S;O0=E;KFLB_;V,*S=(:T;K0!ROJ@? ^D
MHE(6>D ^+F##%(F<8T=ZF)7-=&,ZP(V:1O\F36Y9Z"PDT0Y7>!,L=L^BUVO(
MI4[%*V^)Q/,I/F+V'Y:*V14*'5X9!SGX/["QGMUT7WREM4%9WV$C+I<B&3N!
M6<%A<K!CN>9-+,!E'J(I;[',*5@)MD\*)@7V;-9)0+@1-XI<*,#6_JUT4^P4
M=1FR^4S\76H/8":@UWIA2KR:%H032Q32-1K*NELUD-Z4^UX#9YWK\&PI!.LH
ML3<B&=#C9&(XRX/*!E)DAWD_Y:[C1"-].YP/@L&N</I*%T+(+E=D29D'Z(09
M9%QP"ZG+M]& [.#:I8'YI7#0_RI<G[V3_Y<'8R5=I=U[0YG.#B_F#4 /.@7>
M)'Q _(=9AQ5CO@NV43GC,F?.%#DR]B2>O:7^]$%TR3](6'RVF6F/M*;NC\+4
MY( ( ^U?N+A$#]@Y#,I.R=(%&AI'QH../A9F'SJQRS4<@&:U@Q@5DXI!R16@
M[*7EC24I;&W+.I-2?"S5Z1I)8 UQ(V99!;2<3;@93684Y8;%TGW%ZUZ>CB3!
MU)JW&/ %TSGC!"O04-(%.^G$>3._22NCO?%>=5XOVR>Y3ZOF="2WPE>;CE%N
M>6)H=1#X+(EAL/J BF,Q$,F?U7V]D9$#7VTBS>LCS8/'%VG>.6_1I!<$EW7F
MM%N5C5?]+$Z+T'MOR[ZD)O1"RKYD.'GL]PL9\S47VY+"RW?'7D<I!R?GB?CS
ME#C?]#6:PC+0KR\JL2W6L,IOZ*$HHY_)!R?LTEG+[L78>AT3MI&<092# FNY
MF:AXBALQ#?Z99A(&Q3-P(EDN.\D=)9&KXX,:_PIQ-Y\324&E"S"1-)]$8SH
MX\1SL[DQ/. A?93'P  E[%*HXQK&K=[O_:1W'RWAO^3D_:\4;I4GS@<.DT4-
MCQFS?%*F2ZFWF?:W8])E]R=\"CY[#+8W&6_K5B'EJS2IFJ78"(31UV0Q]'!Y
MLF#@ LFBNH;>XE(JZ( 346]=;U@)!@U@R^S?.K0BU#KIZ_KF,+F3"LL&LC;A
M\6+,B26C-BNY8%KIAN>#@H*QD5-.P#%V*M?%/:$,J72(7D<G8FJ,;U-G8)(]
M<&_28H[X=8Y7@QTBL=&YX8D8;#M,.,%R@-&<9S&'(Q$#4U00%*GL=,:=591-
M:=R.6J=G/D%+)T7!8ZO6.Z.T[(4 I.3UZ9V:I:#>'$K.FF2[&:U)G%<2:X=S
M= \-?U4:> [G:UV_-DJPK(F] A(4 !$8H/1=\M%(^KA^_G4]%R,Z<%D94SR8
MY@7S4(I= EVE-PG1N>O4R2?PA=HXSK*:.%5S8"S ]1&!8P@L>HQ&RLI T/(
MQ-Q]K9EB'-[WHMP)G/-YXH^8X(,+E'HH<K&;#U%.XB2-D8V1UV;/N?>O6+-L
M8HAL6G*EC(%47*4IKV;69&H24Y\X"0J,PVB5X[+W^SJ(8KH_>,%1RP9E9W&
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
MI;^*=3Y&[CCP3WKKF>->2*5'N+7=$[]SU&MLS\;VO+_;ZG</FQK O3^D6XV
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
MU).2=3 !U9>&%%4ES]-11#,PHMU]?*7=^ 4>O,I24"F8 E"H;[K[CC*<$AN
MURU?..SJ/_"FXY2,E$.=OLQT;M+L*XN@.7P#OD?KL)]88<W E\TZ>04UCMG]
M)/):C);;*3V/<3"@$UCZR[[U-)1W'WXYKOS2UDHBC[#N,&Y3$V\G+:M4!/I[
M5>-67QF7_.A C[J6E-S[>]3[R2YEOP\939#ZFVDUYEO9V9)[[N@G7V^,CY8T
M+#4JN91@TX&W@<ZKOL&BJ>]0 EIT#I*39@"/S/G"$^Y.V?DHEB\Z[\*JKM\B
M1O%]NF3'JNOX=H7D2BIE'5>"B>>.,K^DI)B-<4FF?U123@PCTCNP1+B\%?7,
M2"PR6HU" PQV:!0Q$S*7:6^8T)9:\6=QS[Y#)W4ZP[N^\R6LO6)ZPJ&=,)(]
M^@-S#9+E7!*BN"G^S$X=\L(#*62> KL^72AU4);AK^!(XX*MOWDZ^GHP-&X
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
M/X[OK)EJ\!5KC=,KA6Y=7U]$,*!AZ4C5)D6)ZPIPA@E[SFA!G*LFMJMNBIF
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
M0J>S-'=3^ @LG?T\% 24F9!/.UFZ<"L)Q+T?I.Q9DY<0XMP$*'3VO)4_8UL
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
M@B6CA60=:OQAW,>)/)US2B1#^(YB%62$NZ?RG&K4\,;PMAOT6LP6A>W26!)
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
MD7_+M_D8S@Q]'!L+ITI_DWXL3+!V0N+(8J/4WA%-XI)-JU4UO@!NR(*E&.S
M))KI>U2ZL'(YJVX[$LS+_CBT2_'"V'.!/2XIH&Y_2I.),\0G!!M[A1<P=UQV
M4^K[HK-;2M.-DNL4_B/4#KM2%)P\E92_@XQGX9>79/.42PT\T&>J.THB4#^F
M,O ^UI&*;@E&ROD:CH+;0B:!+J^3.D=,+: 61&9JQ3S2G=^U^TPJ-.YN6N_\
MME+/#7-E,2-148X74.3Y%R<CHY0/L.JQ95_T)E1<5BW+;5,W),@5YTOY&W4?
M?TP'UCZ" _L0Y'.\)ZL.SO3.T/H Z;=.-2)K!MJJX]03$J9E;R^J"S#O SZ<
M)2NY0@?+ Y0)@'O=! D8H9JYF^;5R^]6=1HJ7I.L0UO34)K NKG6I4$9[UI9
M$7DE%0TE[Y_N$ECB7_15+*_6Y?;HT0>*Q/F_BEJJY=OZ_/+WEXPMV[F@K/^8
MV?"3SDPL5W?6[2[7N3LU 1=J61J,)KY4W>"/M4O!H<SMM*;>LJ&WW[DDU+2S
MG+FDT]E2C(>8X(%DP;$YJA/EIEA[.HM7IJB]D[W&;;Z9*.Y44_=H5=N^-=!(
MD8M\DA8QMG.K1 T=3S;J^ 5.^HJ_CIF:DK-:*M+5.:I[?ES_(].L]J"R845-
M_13?NF4;*2)98%*ME2#Z_0@T/9VPRZQ2C!E7Q)A>?GD$BPVPX7 >@:9&!I:0
M48"<-!+H!28Q8GD('H#)\91GE "32V^X?S2H3@S:L?K@S8QPZ2:K5G^1 L?>
M$.YQ*+VJT['66$P)T*WC)UB5O6[=?EVHEJMX+=7C=NI62])!RO2)JJ6_O>G8
MLZ+^FK/W3"G^<HZ?16J0_&>]#6XJ[56*I7@E#C!.ESB14=7QT#"+5916)X_6
MO_U&>^]L4@(%=SEN-<X"6X!620"@"+-OOJ]S%B4W()KJCG@H?.N=C55C0],]
M30(_S&6(I)])MZAS.$P0,IBLBS6?JMR LY3&%3C2$.G5-%<=IM2$KBKG::=1
MB<?":^*#-J5*TSOG"SHJI[4PS,,9-AS*T%XI]4>5C,[<GI&V#S#E,E,<8PLL
M.\+C=[*H.4IHFFN3>:-'LAVR4#O3?<\X<T$.E?,Z31-AZ9]$;(GR"B3.O8H'
M[ON%PQXY5Y-2K8(NTM+:"JYU5<U%IJX",B%KLZPC5V7QJW4-(Y*O4MG [:CH
MO@TI>3V5@FI=74W75!<?4ZJN_B*GI&MAK6_/[F7MEL4.R/QNB'Z064D#P _I
M_\_>MW:UD6-K_Q4OSISWI->RTBK=JWM.UB*!9.@3FP2<SL"7+-TJ&(S-^)(
MO_Z55%6^0[C88!M-]Z0)+E>II+T?[9N>[7M\/?NK_,*5]2WMYD4 PDZ:-S0L
MLOO#\PMCT!,.*N1G'?*(09[OZX1B,>5/WI>][W)5+JXJ>R'G00ICQQ^L9"N<
MI\DET#/A>.O!>FH<.5%V)<?/+?A;Y75"O:*]9&]XNK=HEP=^.NT_"8$T'YMR
MAOGX)I6?%KH:JWP?G@WV"6J/-)X]PFU3VK<@=Q]Z1Z@;NBN'H%8XG!&$>_C<
M$J(N9-\S%O2F6%D"1/6\8]/LG92%4$72T5_I,-#;RMO#/M'>AVUFP\**H;N2
M0_7HN>41R=%AY6S@8?'<NLVGZ0VAX4FJ$=Y5A_-6EM++H@&QF_+V67=PT==7
M%=\ UD<8R^UBN.'E1Z5SEHKP?OT1"T;5[SP%/H=-8:0K12?#5M"5$D+RNJ4<
M0P)IDATURO/.X$A82JJ"7#1S<<R_5]PFE)YXOW>JNFJ4]1TULIQWOFQT!-7O
MNVYF<AO23;YT7J"9.->G?#O*L<:5_J4F#M;Y0Y]7XQQ1_9O4;]4WG_$R\A-9
MU :,,T&%<FOW8S"_ Y:$4J_>>$?VO$IMLA*["*Z,U=H-E:A5MM4.5 Z@?W5A
M\R[&T\>(2I4JHNBWR%M!HC0Z6Q@VPU&MW41@=>P\8>#?""'44N4*XH#A^+TJ
MS2\*7(Q"KY8J+U%S8S;[]FPV7^5L=C';/A:\$K#E/*F_!NV<AREW5=YO'[YU
MRM<;.-G;/OP2/@$)7K4#A>^'6K[7=I;'(" )F# T*Z\:GF^O@A'[;>G#OW6P
M>39BHNOUN</I07=8[>T)^(8J/PO)(TSS;7(=^IS8UM ,'?G'H<AX"-%SCWN/
MC+?14>HRIS:,QXZUG"FKP*U#3 _5X32[Z823[R'BZV:H5Q:/YGW+_Y+M0/&8
M=]?U7%#;_@O#D^O-WN@;99OF<"9?CA"W))C+3_/_TBAQ6\A-SM\#/<#PC5LV
MRF5[@T7 <FQ#>:!G^ R(<T]?<8;MXUF._Z[@/-[9X!QXL1G)='Y,WE.]E8;E
M1.+;RV.KF7N<S<)6G.!@F#S0/L2347'",("D/.E?J3Z%#SF.-?Y1XWGN7/^'
M!7JC2MK".@MJE(<+/2M%L,+"_?ICJ9*W#HM\*'Z:.F*, <MGP0)%61$;NUU!
M)WD%Y]%2O*X<CL5+1X\<I^.YB79DF!?**0KRK$LK Z/2DM*S+4QE?Z/BO,KH
M&F_L5T=7^KL,VL/EE9>5TGSSM!O2O9I5>>BA@*T1D%2=L?X],'R708< 2>'4
M6;?2DOHL/V36R:HEAT'7&P-^'4+2]MD=L7OBRY!8[MT8J\-X]/U3P2ELG"WA
M-J;O@<UW.VRTS_ZN=\: H<_L16-8'S5!9.'VCTPVNSD?M]LRM=MD<J$):=E<
M@XIE-KFS%(R%,AE3>#*!,SJ/R03Y,#Z!XQFH@]H-Q:12&S-QBGHE:4Z=!U?N
MM2%,[</=8[\MO*#1.(-UE!L]4I>[XB2"Y20QXY&P<<>[I*\I4J#!TCAK=WX.
M:?!"CB-4B WGP]L3K6$$RW/;%2(R'KT(-RXB>__QI.=9*!$YO_VU\V*F$6R4
MYEAQJ95=GPU; 2W[I>2-K5')"MGS4)H;-X%59:A-804G"@&D)W!I#AL(Y+3H
M[MW.;+\@1FNZ]QIM-3^:]F<HJ!C?5=P+.:-0#O>/,HGDC6C9.ZEDGK)Y2"V5
M2_'HB&:H10CD*?F)TZ[U#QF)V?3X<]WRIFFS&V[@>3-"[C,$"'*"HK&HYS@9
MD@^1-@LRCY)^47;SDK!B]GSZ*'^/\"QO+^9!X]+[7REJM_ER\:'3,2$V4^3X
M F 4A5ME^CFD/C//M.%)M?L_/1-7B'Q\_^[M[_XT_\^%YVX/4<;VN(X6K,73
M6!%RE#DO2YX6\_G%T3JVYRUKN>*O*^/C]Y/OEL:)8CA5,PCR.PJ[3\E"WOC
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
MWJ^ 8))&6V!C\)VQ: M$6?FUK*#D5EO@L-_19R>=EN]85!005';_,_ G:U^
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
MNOVQ37;!8?EA6NDA$K!BNC3?4MWQ]:O-X5F6L9*8>\'NBB##=D4_/ 7C\3$
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
M/9,U/;^5^\QID8=VR=W$R8#WL9=F.W%H;6V6_;F"AM3\U]\.#"IW$( ;7[7
M0W\0V+UI)=1S5<J!WT-L?CF7C[G'_0=Y[Y4O>K!,K7PE_#==#1&8;TN_*TIQ
M<S*=/QXD"U,O_Z"E6O8]%J3+844Q7^D5]8F0X1E?7^_W0[9\<<WTVM[GU6%E
M'2)%_WC4*XZ_6M??=:7>K0C8O._F;&4AC17"-8.>V9J,WUB;4"X(9L92@C27
MQ"8VD=JDBJ%$)]_V1F$;8W7S7+9Z_[L%<!G$&?3 =RDO_O"2M-TV_C^[(S':
M[K\KDMU_^USW5B6D5_ONN9?]/]J#<V Z?5#<UNF7FSX;-.V9HT!?RBB0C]@D
M1U]W<:VQ!^N-+_#H]+./W)P?G7Z'1]<:U4ZW?]8:V^1H% 5"^Q^^),<[;T^.
M3T].:U\_PUKC.S[Z^IG4&L<G1]<UNM\XNS[VXVA.1X&.R''C[[/:A_?G^Q]J
ME\<[GR_W=\S)\<[WR_KY^]/:]9G[KG^?+U?_OJ[U:X=%%*CQ'>WOG'U3:2:X
MR A0'!) ,HZ 2"7W(><T37@J"91;;Y*D2G!2QGY*$7F3-[]ZC$Z4B'</W5CD
M)A\1:D,12BH"+9*:"2&(X%"E">8B35*J-$ZX#0@%(T*M(D)=32(4410+GA"0
M(@H!T5@"F2@#B$)N:1EEDEF'4*C*^"HAU -(X9[WR@6Y)'=.H]]8BO)<%'3E
M^:_ B_K#Q]>JE;;-Z_E]_6THX/!%/[IK?=UOJ^,+-?W'_W@&VVF['-+[3G>G
M,U#];- J7^%@^ :%]Q41:G$(]6642<L1:BKS?W%:__KW>;U1/ZDUW-Q<?X&U
M\[_<^Q^<U7:^H]J'SU='UVZ^OKHY^5N@VL]OS)),(,$!DP@!@AS "4,@4(DF
MF4H<PF7( 5Q5(#:#;\$/NX_X+6ICC.*W">*':]O?$LL(3#4!FF.WJZ+429XA
M"=#2(),DU%I)O/AQ.+N]3G8&F%-L,KZ7H/OM)7/M[;4V2A<&_3-Z5K?]J&K+
M4+4I;YEDF'&5<("M54Y7. 8RT\RYS(D#<99!2+*M-Y@LPEN^)>*[+&_YKC'2
M%Z_)"]M%HR8_E29/>94)9 Z'B06IS+CS*HD (G,ZK1G'RB+WJ>^/C5&5)&2%
M-/GE9!F*AGKM[V/^6*\Z8G;I=/-^#LY#NS&G=!M.W37"M]8XM2B+(_!K;+?-
MQXX;=P2KY8+5T8S9(9F@%.$,0&8D(%1 (!43(.%*,D93B+ ST5F5"+%"$;!%
M)^)?O#8ORNJ(VORTVCQE>BA+DA03#;!6%)!,&Y"23 (*)4L4439+A7.X856@
M-0IHW\OL66W38Z_MVQ9U/+'Z@TR+%^$"+<JT*"?[RL%/A)9[08N>,102"4F*
M#'26@3_301$#$NH4X#110E.JI(!;;YPQL4(N30Q.K*B9,*F9T2)8H-I.602,
MITS9E )+199;!$(E%'!-4LTU2XCQ%D$5BC6*16Q AGMM@R>??!/1IBEI'OOR
M\H&FS(OPJQ9ERA2SWO"S'0%S<8!Y-F/G9)HHF%D.=.H#(MIHD+KE BE"E-%$
M.L.';+TA59JF*^1!Q8#(BEHZ47&7IKA3EDXF)99*0(!D(IR#8GQ9G^# H:];
MQS2U6.-0;"!627%?3NBC-!PF2%P#.5F,A#R1^;";3_UVV^S[><^/T,7 [,+!
M:?=G *;<LB#UT^_T&U=)AC/* %3< $(2Z?,L!'!F$Y0)GB)EPV&()%TE1RQ&
M4%;;KH@:_70:79O4:+?TG!"K 936V1L(.4?!J3%(,X@XYA@;SZ,EJIBM4DAT
MD8&*U3X=W.CT?1>"B3/"CPE4W.DD]F:"UL*J2R,\+0F>+F<,CHPF0B-C/ <7
M 40E%DBBE)M@BC.KB)$$;KUAHIJFBZKLN+.&K%&4XP5K_<(J4:/6+T_KIXP2
M9I33>8.!S2QS;H9)@1 J 5C0A"<,:Z2]UO-J0A[M9CR5UK\<0I-/7<\KW[_*
M">W_,VA>Y/SV#RU$?1$>U>)B)/GD?_*LE,ZAVBWG/^:H%XM:5S.VBO.6D%+8
M@D0J"YQ/)8"$+ &9VWLX8MBBA(3@"$WA"OE2,3BRHA9'5.6G4^4I X1@)Z',
MN1TB2Q0@B6) 64N!Q6D*=48)$_[$,:XF^-%IF!@6>8 Z'G:R_L_ )NJ[@'8N
M\N:!G= H(AYX>1)FJHO05O?:&L\#/^C;;KDF$9X6"T_7,Y8&XEDF2"8\'F%
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
MZQ^^D/KU]Y_UZSU\=/KWN?M.4F^<71TWCC/W'M^PEHA!D0)&(0<$)RF0'!J
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
M@C* N<ZL9IG4*E"M,.>]L*C]4?N?P'N)VK\T[?\RM?<SJS-,L-O[<>+\%<M
M2ED*5*I0(K"U0FN_]Y-J0NBZ:/\&963F'T':O[!=V?>MY^SEA6WW'LKH?]?@
M3;S'$SO!T]W&FFUCVV[UQ7,T/0PBY]#8#'3?P?8/V^I<^):%MS=(FQWRW#9W
ML9QA^00B/2N[^F2[;79&B[>; T?<7A>XO5[--L1.)!>!7Y4A HAF%"B3$J U
M-?X?+95OX JK^/'1P%BCM+I*O03"CZC43Z;44QZS20V6%D$@4NTKB9$$TCO0
M,M6)6U>8<HJ=4N,JH:M4IQ25>M7=WJC43ZC44XXP@A:Z]53 K:@_0XP1D%I8
M?VHIE9EGZ;!>J5E5//[PX>H5'Z[!6:7#(<7!N>R>6>_]1I*#)W,B#FVKY:F!
MVJ96SG[$I<7CTO6,!R%TPKB2SKI@)@'$B PHS9WM@4R22(69X&;K#4JJ*5\4
MC]B:E@]MMD8OW(.(&OU4&CWE/I!,.0^!0*!(XEF_/"N@S!1@&<XHM49C3)Q&
MHZK CXZX1XU>78U>N/L0-?JI-'K*=X"99$)D' B%!2"66B"YQD"D@BBA!=,B
M\V2?59*NDD:_')Z##[9MN[(5O =ISIOM9J_O$V@_(O'!$Q;TY8O@X&E[8@DB
M1BT>H^",'V$3:)W8"F H=U:'5K[-BK4@=6Z$4CQU\.4/5\(J1*O4>B$&+5?=
MCXAJ_:1J/>5,*)T*J(@!"4I20$RJ@1!8 X?8UMHT2PR36V\(KQ(>$XP;K-:+
M+\&+:OV4:CV=C3#")C9S:NU0&I#,(I BR@!1)DLU5MRMLE-K6G50O4)J_7*R
M$=OC/-^>]UO_9]#L-?U?0=>V9-^:2K/=E^WO3?5(NH3-!JZ%NQGC*[.?[0W7
MP'<UZ/<B;BT0MY(9+X-D%'I>)L!H8@'!@@"%D03,8 J91I!"Z0\35+EX]%F"
M&-M<7:U>N)<1M?HIM7K*R< F4TFB"4B%XL[)D!E04 E@A=%(I93D?1N3*D&1
MF'F#M7KA3D;4ZJ?4ZBD?@TMB,$D5R%A"/841 ])""1*I$B6I)&ZQ@U9#N$I[
M]2]\#-/L7;3DE1^LO1T(UOG*C6=DR#GG.C/GG"([PVIX6<,3:$4\*(+U(L$:
MSSA6D$#&19H!M]\Z$TSP#$@>VMXX%+=)AC*<>;!FU82OS3G->$I[K7VRB %+
MQH I-RRUBFC..-#86$]CKST&I, F3$*E,T44\QA JTD:>5HB!CR%!Q<Q8,D8
M,.6TN?5B&=<"4,XA()[^7FFJ !5,:$@RCJ#G:TC2*F5K@P$;Q-<P7T-'? W-
MMNZ<VTJDSUXQ-V8OK,O'3B\"V"(!C,PX,IFU+)&2 4@%=@#FC[+8Q +D:6B$
MTD)K7RM+JAQ&WNP( D_JQT006!8(3'DR+#4T\QFDS%@"",8$2(0A,"8EU(%
M)HD-A]H@79N^]Q$$-L.1B2"P+!"8IIY#5F/G8@ LF 5$$^DL :T )A9[NAS-
M+ V6 'U\0[ZG H$-RLO<P#S7/['=THMY561E?GL8^]Q=0SKQ'B^ILG)"PF+=
MY-.YPG[>ZYUV9W(CC)O@XC;!O5GN=8PD5D2EP*8H \0HYPXGAH$$,JT%%IR'
MF'Z5HD5UBUA36W>SM7GQ/FW4YJ?0YFEF.(@X@IP 2JT A' .)'<_:9Q 1+ED
M!/FN<%62+LJMC=J\@MJ\>.?T)FV."GM/A9WR036D#$,F 338;;_<4J!\(20F
M'!*I"9:^=9M86"AZA7S,-7 %/LAFN^)4S2N7&[EM]_V/O:8)6M!I1_*&)_,.
MW@YZ;CR]WKO.N6JVP^R_&Z[*N_%%V>YVI?NM9Z[LO3OQ/^ZUM\_="O3WLYN^
MXLN]DTG;)&M>6@.N;;<34>Y^*'<YV^#)2$8)HDXLB0$$6@)4:A& *9.2I\PB
MXYR,__=? B7HSQ4Z3AI/B:^ZFQ%A89U@8<I;0<XW<5A @36I B2A"L@L(P *
M S.;Z)1;&6'A!<#"POV5)X>%&,EX+#9,UQER(Y6Q&.!4)X!0*T'*A0:4<$U2
M9IB!?.L-K<+(/_$LVNWST]XU<N-S Q\T>R=>A3P3A;'J83UL7T1H9O&L=LY'
M[?G5L+W]]N[$:NQG.VXMHOVR&(R:;:Z3I0F&)$V!DV7LW)I$ \4A S8EB9**
M)Y;!A=DO,=[ZQ$K]ZFG]FIY[8??3 ]0[JO$]U7C*#4E4)C.)J#,P4@M(2C%0
MGL).)EP@F0B1:K3UQJW;C K_%K5W5;7W6:GKXI;\9+H\[38(2I(,)8!2+0#A
MRKD-!A-@N,!,L<1I>KJ*6_++R:GL.<WKVEZ_9%1X83F4^U@5"_<5RKF/')J+
MQZ+9SCD,(9(2D@">>O= $]^P#R%@,ZP@0YP*PK?>X*K#G$=8%C&NN<(:O/!\
M1]3@I6KP=*<<I63&/)NUX1D@5E@@L59.C;GD&53(0.@U>-Y1YZC!&Z'!"W<.
MH@8O58.G_ &29@YJ4P$8LAP0@CA0#*6 <9JEJ4$<)F+K#:NR.061SZ+!&T]%
M4!"KS3W&$VD)GL]3N"'^>$/E9T2OQ:/7;,^<5#@C@PL&A/0G%*FR0%E+ "0,
M"XB),L(S9%89GJ6]O7=L,AY0WBQ,6%Y.(F+"4V)";>;4LDDAD0 A$?IH"2"S
MA($49@9+HW":J*TWJ.I,FX@)$1,6[LT\$!.BVM]3[:</BBCJ(#I%0!.4 ")]
M%$((!"R7*58Z)9KCK3="S!X463VEWR"2@IMR',&O4=;MA+;2EY>1-WI5RJ5&
M["KONYWSO,)SX.:OH%_IM'MOPZKEUS7\TNU>]KO2+4&S+;M7>WU[WG,XYT?9
M[81^QV5$)QH^"T3 V=8^2#$LE<I EBI/UV(SD-+4 )-A29&1*,/&&3ZX"OFC
MVP5$\ME-!),E9&,BF*P)F$QY44*EV(A$ 8,)!T1!"J2& AB29JE-H<"A]XBH
M<O'HD_(13#813):0&(I@LB9@,N6;8:X,H1D%4%$!"!,82*(12+%VNXFE*0N4
MLKC*TK6Q3#8^#_6IV_G1['DE=[I19J(>[JJ]B$K9)7EC#LN*.-%;V[99,^+5
M(O$*S7I2J:29,VP $10#8HT!DC,!+$,*IY9RB7W/]BHCJ]1W+=:]KX<[%+5Y
MR=H\[<HP Y$R%CA#E &B&00J4PP@H5,L*<L,T5Z;*191FS=7FY?DCT1M7K(V
M3_D2C$.-*:6 6J4!R80 "F:9<R@XAR+AU&W1ON04H572YHW/Z-1M_R9*X.7&
M2.9-P[-"TC^6]_X;@\4+]Y.<^,6V $M!X-E.IU) #-T>"@SR1?\,,D_)Z,PK
M 6VJ,I-!B$-HF.!%48^L2V@X0EV$NF4[D1'JE@AU4ZXCU]**S+F.5,/ RRB!
MA(0 8B&E*=:<,>F@CE31XR-!$>HBU*TWU"W<PXY0MT2HF_*K+4I8AB %2GB
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
MP1])\61"E$YH:FV!S+9 YD(<0T6;8B0:,>H!,JT'\"0\H.BED8"7VGL!D&D
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
M@YE#D\<LV/>$\HWIMXZ'%QOU*"(WC/8CL@D>\2?;.[/GHXU_7%XF6*-F2 +
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
M(VB.D5*,3$H8L2"\5IBGJJ<%VS3D+IE,Q2'98D%?^9&=(NAM$/2EYC4V2F*
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
M-*H#*##;V^'#9#3.7KE7<>2'W=/\XO/>T"2;X,3(&(R(R"@!)(RK@ P1 ='
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
M[(XC&J0$3S5;XPL;JYK\83=6;2WJ=@OU9W+3!Z)^GF^F#+,6NN-I]ZRZ+3U
MX,?<Z2_/)EQG! P1=@[@E)]MNHO..A<#R-*QF7M1G,5>+_\;/^?OYM1HN,O@
MI#9=ZKO!P&'20\Q+ X);+36@8)H,JPU_(;=YL>'I1R.;3<9IBXH*4IL=6RUW
M'NU1A=LPX_E[-@_ADP6QR2MY$C,09P&]F*2+9A7Q\[&%A_BF&=92$+RE5K]G
MQK[;SR %!GZQ'X&=\_?<"$*< 78><JM$S0QR!"@Z9<:D9*3%1BZ>M13 V$5(
MQ!KK>)!16^IY"%$XKXV29-'>G,YY-YMG-VQAT:8=_!T-@KXY1?.3LF"" ;8
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
MYXL(76T[U\!<9S[5.46;  GCLQ@;Z_CH:!B/,B1<MJ(!01L.UK^$ 5/%NVQ
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
M7@"BEVK7-2A4\ZV>P<\=$$/DCP9$.[7(5ZY'G9^@A!9\L6?P'3)S/YD3EW=
M/OI>ZZA_I8[^<@)Y@"]?ZPA6F+7S7?)WU\5E9[WOM7=4=X;09>4A#+Z75]7(
MZ=PK'=J-^SK_$0Z;6T!<<?5>1YL\Z,##3 ,0*PT0ISN_#Q"X24=P,.2J=>],
M=H9^]V'E Q^A@4=;'A"0^YL\7;_N#/6XAR$;U96V]M%#V((>^;,9OEP4BVH-
M-,C$L\6BS]:V]@>@LD0MTEIHRN?57X;>Y.GT\PV-XI['FN8>U4'=D)[#L 67
M+]<'OK[H,-=HQ<-<;Q>V^H!75+M]L ?LH?S5^![W+G=_?1>:XX)0DB9<$CC.
M#$F52@F@9Q(IF3@GYNZDK NL%C)(X,3CBB4R2!-I5& =9XXI^4Q]E?G6:<'>
ML3?&!:S$^*Z%BJ^5=ZGP+?G!C7!P5SF:DM5S\FU-WQ8M6J*G<?7E:OKHQ$>Q
MGG5T>U+A;&JJ\S.OBE#*2[B4L51Y4254P;ME^4E4FH<#L+0QR,G?7OG@T&,X
MT++I>,72HBXL=7B=_]Q[$7RH](RWN(QQPL^4'9VCJ\9U4.OW02"3B<;^8&OH
M)/ >OKRJQ%0_.[:HC6>A45"+"E="-0?X_<5?*T+&O,;EO3WPY-"'_$W?L77Z
MY406+J$B@FPZ2C$/V@/%S"L4Z%[Q>M^D1A9:-D/4 KT!!(]V<]M&:X N4[=6
MQOW:V_WX04]TG5&VL);#555F_-V@]TD-^MBELK!0>:,\)XPW!HBM!]1TLP'8
MD3]L[H"KC17,MN**8C+J5JEY+80BG*\&CNX&1R"*V53<0AG'G!O84Y,.O_SP
M&1O%WX<6 *2/;K-I\<O+:98 4=OP>>VX_')]X$.#?^273#!R##)[U=FTFVUH
MW7_0.1GD9>3\L_XAUW& =" SJ$S_,0G;K'IX7B9L9.,,]T[I2;:_)+HX_#/J
M(D>9,0#DL$"DK=:,#%<MYC&I_;EH@"Z&*B,\Y'%CT,U"[*NR7,?H*?=8/]OS
M<N#^2WD<7N&0\)T%]!OEKI8B*AG/B5Q2JDC^W,"<F)]5%*[_8.((F?B'ZT%O
M>.A,_5K9LOGJ%H.ML#''WJOVPAG@Z[#TX!9H^VH2@X_Q-"5<+D;5/V;VD(="
MC%N''9:7'2JWE?]^IU>^!?XZB=8K!N MZYNLPW5$R\6&TXTZ]^M_9;?X D;)
MG^<.BCS LK@N0+FL;E!@L_6+.Q'HLLPK3+6O$]L<*O &$[-@BII1Y0&VZ&0_
MQXAM_*9?]EIL=I;?1,SU5DL/,[DK!:\A+NI['UONRO.L7?T1X^X!=L:CP?!B
MHBBTBXCQ4NWQ;L/\<,D_PDFI;CC0^U!*5;NZ*"@:@8&,>V=E>;A95\-L_:N'
MM5R_9/; [93]>YGV:OB=6Z0OB9$]&JQ4GD:.B,B$Q&D>2,IX$*7JF=J?&,<
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
MMW&KH3\_*%*:41,:KB(><IWJ%.#(.:6DX":AT=*TB@9M[H V7^84!R<C'LB
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
M?=IA\?(B.WYI1N<6EF6FP4D]H:H2%NRHGAW!3L--A/6=\FTTM*Z+6(XO,!U
MJXX:EWT"X?[ABQB!16ARP,+APJ-]XC$3NE@<)].OAQ>=# PLTO$%-&I\[2A
MD>Y%]3K9[99;4V,-)# LZG/6M]IF&9XUT,5B1FIXZ\LO;;;>#@##_W<,W>A>
MM%OFYL7"VD_X^GSHL/'[L/%Q2'F'\<$">,N6ZJ=E=83"'B_ZA(_-=:OU8=B!
M+\$;1B=X./K7M*<+3Q4R66Z,^FNP<B)LH'[]:=C4!%W\(-/^>(:'<7&Z VFJ
M586S$38@S#&L7WY %=6VY'&G:Q=O,-O_V1D.^IY9 56&?'].=[H_.)\Z%C.[
MH+N+MD]1*\N_?:ZW\QNWK%4&F$BF_XH.DZS<D+EFHT ;@7'4.XOP"%J*L\.\
MJ<QWJ@](4-^.\%[/4E4,*)OI0'UDGE8SRXO59R-?N0/GI],W8Q@H-I6!#N1-
M=XUE[J!;)_(G3C"\ 52E4F:F^M@OU5R<M2OUKV+#%? \_\5J/<#\S_>SKUVV
M\-DS$ O=.<MGMXWSDHWU21OZBJM@^S-ZM]=:0,/+SK"2V<]"9\'3J8]3T<_K
MFY50-KU5%FI'\^."E6S]G[NDH]S'5JZYQZ)9=>?MI)^SYO(6G#R^@-OMW&3Q
MB]-\=MG^]C';O_QQOG^Y^^O@<.>[",$JI8(1S9DBG-*$"% _B>/**:M +PK-
MQFNQ.1\)TH(SNXN+7\-N5(X EU ]*:O@M,H".+GLU\!(Y@=7+@4YYDQD[1PA
M8("P/40[8VIW@KH^QH*$*#9GL-M_^18!/!]Y7^)!##]-%4??+3H,P_?_?SCX
M,!R8L1[5'#UO49":+7J++7H!SWR/0B$<DYP$RG'"TR A4B8)22U\PET4I"J^
M6X;<LB!IX8KO]FL(52)3L^1W6O(DX4K ,I%4@Q4&!K$D,J8A28RE,34JB,"D
M?<TWXSE4NAJF\'R\":/:^=$H<S4].P-%%*'-%$N+B'26B_/\R;@YYQM\ />Q
MWW&?]8DUXZX]<)6?>-*9?3LZ1&WH13N,/WXW*17&)8+HV$K"62PQO9*1*' !
MCV(J$SKG %Y+,W>17];'$?DC=#F5ZI;C!'CD>G=T$U2;^]2[B\5FRL*'*"$G
M^/V:O?Z5(B_KM_S.WJ[9IM[=6M=[:^K=/4&]NR<=]-4W>4TAO*8NU",%CE[C
MQ5FK[,;[*;=%H!/=[WTY/SC<C>!]O?W++\&WWK\G!]OF9'_[6V__=/=BK[=S
M<71YS/;>S@8Z?0F_'6Y%>Z<_8&Q';!_&\NWK#M\/=X+]WE&X!]\].OSG]&!;
MGR\JA>>8H+$-#0FD$X0+Q8E(DX@(0=,P <LC2,W&:QJVX_2W^0_7+,>YP;P&
M\QXHL+/!O$?%O)DD**82DPCA2*2-O^,/");L(#0.(Z4"^*,3&Z]9FX5K0^OP
M2 G=3RJG\SG=LA;>T.1T/Z6F5LO^K,><-#BV/!R;KZWGC#1)[#!"*4@)9]J0
M--**4,2<0 F=\!BIJP,^'Z+>9&\_"]%^!(7D2M%NI/=NTCM;F<]9ESC!B!0&
M+S/C@(@PC$F4*D.UI2HU*6;MK0CSPLOVART_'_MJG? %V8Z_-S6K#>.KI:"M
M4<;@.L#YWGPEP3@ 0S(,B$VH F7,2)(JFI)$!0(T,R$CEO@D['AI]<>6(43K
MX6-K(+2!T"=7A!L(73:$SOKEPEC;- D(CRFF=C)%I$H<<8ZE3DB=LDBC7RZD
MCT)C\< (.IUL[>-J;DZY7D9<TNO_JX;_>7UE1$\A@1QC:\X&F0^C_C//5/EI
MBY":0CQKWRJZ$4R^(A5,&,C/E5^9"PAXHKBI))V>B_J_=TEN%U5R^\EP$@1Q
M;(D:6OF#2 =#_%-VS^5%MO&?Z:6$52NZ%''H\^R,7;UN=X['>J+T^GCSB;+K
MM_*LB.R#O$!)0Q8ZK8=C:][#D='I^CRE5<RM/RYI,T[V#G<NCWK_0)N N-LZ
M^'9X!*C]Y?+;X3\_]K=WHX/M+\'^(:#S;*AD;^?7WN%^YZAW%"'B[E]^ZNZ?
MGISL'^YW]WH? T!IOG_XD0(Z,Y\)N?4]ID(HQSG1B8@!@,.4J% ""D=")C).
M5129V=QZ92/%P]C)P$BNXT#I,$X2I26 >)08-QM:>7#XWSN?6EMOWW[ZLK/=
M>K^[]6;W_>[A[L[GZQ/L?Q?X%B;HW]CWAPK>+7?G)'YW?E>N6.SN$VS(C]]-
MDE 9QXY(&B2$J\ 1$06:**S9+DT0N"B=B]U]BC/DP.>URWP16]W)*K;.[= N
M*?CVD<-FXTV>TON$S2;A9B#N&\-Z320JW4S9U1_?-VPVV(RBY&$Z>[L8WR9L
M=JW#1INPV2<(FWTZOM;/LBN'G2(M7]F^=9TF7+8)'7M,8GW4,<IM^#8G<%@7
MQ]3]M,C<,776^?;W3@1]B+Z==G_L7?X(]D&+S']_\V/_[Z/+H\N/%]\./W4K
M9U;IF.K]\^/H\$>T?]KM'7S]>'EP^#& ?OO?]_[^"/W</]W?_J>[__>_IXN"
M9'4,JQ:F*4DE0^\4ET2ETI*8TU#+(+:&>YI\OK2"O4V,; -TJS3PIRDHT #=
M0P/=C <^C@2L#&=$&A&@!SXD2B<!20,#*,; XA8QE@<0R7R^]8H"W;,O=?39
M0E>0..^%1< ^HN[E<^U+/"JGNP*D!G/N@#GS4:R*.:-9P$@@8T:X3"E1/#$D
M28R1CBJMJ0-#D_TVXC2!K*LKH;^K-#02NDP)G=$*TM!Q9FU"4H.T.\R"0J"U
M(!Q 5"LC#4W _%E0,6A]JQZO_*G_=M#K=;(,*<[N=>XO&._S0Y7E^US #JDF
MOK%(EHX]\V&55!N3&*6(<3(E/(YCHB(AB:5!'' J:.HP2KY-HV7EZJV0=Z61
MY(=S*C22_-"2/.M;T$Y0$0IB;9@0SFU*9!)%A$DN8549UVF49ZLM*[JO<1_<
MRGW0=:33S\9>96X-+?)^V_LI%2_"5%FR4K%;3GT#0DL'H8]SZD3JG(FYBTFH
M&8"0<Y)(:V/"-4]XJF/%)9;*:_/@MZLZ->Z&U97A):L3C0P_J S/*!)A0L,T
M330)C72@2&A'TD18PC17,HFM$!%2%K63W[^D:#P2=_%(>*+Z/&6VGW5,4;&B
M<4\\M";Q!HLWV P-&M7I^TF?+,;;^EJ4X<47#5 M':B^S*>$!CSF(HU)Q#$E
MU$6<I"9P) J3D+G$.&/EQNNP'06K9/$TOHL553:6)>:N\\L:<FF'@T;"[RKA
M,ZJ($R*0PC!B%%:)==2 *F)2(B23.HHBZW2\ ;(L0AK^M4(R_NR]&CX?H_%A
M/+3FX:>YEK/4J!5+!YVC.;7"1C%E+I*$)8Z!_4-#(E08$\L"R[BPG%OM[1^Q
M2O9/X\-84;7B2AENQ/1N8CK+[R64EMI9(K0("8^2A"BF%%&&FU"9.&4LW7@=
M172%A/0ED'P=Y*4T^\<M7[>XGJS9;I7U,,^0Z*[Q73R"!E&NQGM<C,8_\7 (
MI><4B4 +)I%RD >8[L^U)4I308RC@=(!G"8T1$4B2I>5UM+X)U90E)>F2#2B
M_'BB/*-L"$=UHF)#'#4:1-FD1"H5$9DX'4=@+03"VP31 CK19^^&>%IUXRIF
MB+OJ=PT5WL-.S;/!\Z4Z=^9Y:1H\7SJ>'\\GQ? T%&EH";=Q2CB5AL@X34A$
MC52@G$EK,$XE:=/XM\OR+%&(GM@YU$!H Z&KI1(W$/IX$#JC$E,7QB92@@2,
M.L(C*XA,8[!N>1#11 LCK?.5S9;G)U\=.M$;B43O3&\9T8W7:T,WF6RVGHAO
M<D<.^["4V0<[_'PB5XA1\G"GY 3F^SV0IK_?_?AVJ'^!=()$=K']7T>GN^='
MAWL12../O=[>KZ/.;/'MX_#;]AX_^OJINW_Y#J3S8W#P]0@D\EUG[_3-R=YE
M%Z3QX\71Y;O._URBU'_\'L0\H9$)" ME@HP"DJ24!D1JD7*6,MAJ8I92,G6"
M*YAZ$\N A\Q*+5V:1)HG)DF8%K.,?_L[AZW=_;<'>SNM#SN?6I__>^O3SO5L
MD@O9(&]^[70W8Z45M=J -B:Y<J%(L'*'D]+32E+]X.R1LWOM R"*OGC9.^[H
M.^>1CB*7D !C1#D<V[#9 L#](!2:1K&C,;]%O?=5J^Y^>&);R$@N^Q>M,\S2
MZ(^REI(9["MD(C,=Y%HV+5OLB=:9';8RW!6M5QL['SYO_-$R<B11XVAU1KX<
M?&^ @X"-LMEZX]N!QUH=^$AV=5%@35U PS\[. &>MA*+R7?Z\%W;DJ/1L*/&
M.2?E:)"W=#+HPA&7E2R797^A&?PU'Q_6;<,$[6-H;HRTE_BT[ZG_7KUCK<%X
ME(U@>/A^,QZ6W8"Q=09FL[5=#+KHN+$C.^S!S/F.2W,ZSD:_V7.<V@?HNE\&
M_-4Z9_7(?UMVN_DJ=G["8X,1+'!'=JM&_5O:.(;NV#<JS^709*#%&EQI?">!
M[6"-)QNU_2Q'-CD<ROZQQ4HVV>9-E+HKO.?_"T?ZTV:X!C 1L((:?\SGNIB*
M5YFUK7V8N5;Z1TMZVM4\* X>/).H.W7.\IN_S&I8$L_/FL_?UN>WK3 .VJUR
MBIZ</=-/0(GP+8#XEL?X!^[?M;UIMY35<IQ9W+H7+=R@(Q"A4G1 E."P(["U
MG>WDTN7U5O^)AQ';]QMVU.GZS5\L&ZYJ"^0!5ZSXL@7A_GIB8?OZW8R2>"(S
M^*U8.,03.6K][QCFT7DR1OQP8^$B7[0W"I$V\*S.Q6)H_W?<0;'%3W!$A=R/
MS@=$=V66M7IV= *">HZ]T+X2!+:I2J#<;!TN>KR#O) 3$ :9'A1O1%,/4#7O
M>(54F<<N1 -0-TY:>5NS4((@M'AHZ%<&J\*#2WV.P8;L2MSVKP;#>L7,/V;;
MPJG(UZB#!K'I9#DVUDZ2S=9NO^IP"6.RAZSJV-,:L$(7B@'[G^MC*/9(NWRT
M4\T-O F>!0/BY):#QN7.@6Z U+*V,T1 . ,81>"< ^H2GFMP7()OCL7MUGD'
M7G[- ;%@(*UQ=P16^LAV00[\-H1V:TUT+:SC-4U>-;+I,ZWLZ 0#IZ:HDQ4[
M$Q['V.!\:7H#+&!6'B17[>NBY='0RFP\O"A:S#^<.2?N5)7BQ56/$,',;-7^
M??HZ$'>FQ']RHV9"B3]KWG@E=:MO"@E9+7[\)S%V=KZSU+DHC1UA3@B\]XV)
M$)8194TH(T=#K5:#(/]PBO0>X;^R,W#O%3 U;\_<#(-3.C$<!; A=:?;R=M5
M=G1NX02O0S&T?D>P+SMP 6=B!GJ/@8Z5I/VMDJ_?_PL:9$[;3].GHNT7FVD2
MWX>V/THW&64/P80/HO\0M/U,-)T-HJ;&P%2-@7;+_M+V;.2%=N($0>='4W[@
MV9<?>''CI^G4^)]) />5 #!WW>.GH7)?WF(O_!X3\2UV4/."QWS!DD((_95K
M\O0;_UII]R:7' VN3FQ<1F)5T\;28#0/%6*KOJTJ8^AW8H"?6US4HB$^F_BF
M>_EIK@MT@CVTZ[?0^T&6K4E<TSU=-F5<T][I'KP+*QJ_^[%W^@/:WPV/3O_I
M[I_^H =_'[']RQ_1WJ4YK;Y3Q37M7L WS_=._SG9^_KQX@#&LG?ZK;/7^Q(>
M''[AWTXU5FB^W _W.XL849U0AB8:HT*U)+ 5 B)B*@G\,8JE%6DBV<9K*MJ<
M/4-:D0:2GBDD6<6<@Y$%UCC.&9=IHA*=N#!V-!"A]9 4E)!TB]C+!I(>#I)F
MLX]2C;&QDL#V!%QB.B!IR!VA1ADE(@ LEP D\7;(EU4WIH&D!I(>&I)28_'^
MRS)'*7<FD"J0-(5]#GM:1SI&2*)I 4DT;2#I"2%I?[9DGU)X+\:(T2H 2!(&
MM*0H)<X))IBF@D41^L_:/'Z&&9'K87B^MUGV9VO_[E$2+XS8Z=536G8?ZFOP
MN5J"[4FDT%;??*E'#I7W]@ARWC/;@-F=P&R>M=HH:V(=1:!5@:''N;-$2:Y(
MK*5T(F):Q*!?+>*LGKOR:JB>UE&JEVX<-5+]!%(]8S7Q.)2&2T$$9Q'A(5)%
M&9&0,)%18F*:R,""5(>-5#]3J5ZZ?=%(]>-+]:SAX6(G%1><6)!?PB,5$\F9
M)<:D<1 IZ;B@&Z^3F*^&5+_0FZ[;A/T]7*WOY^D$>H&USA_V'FWKI^QT?93S
MX*W?GI]KN[- Z\:'M"PHG^?O#TRD->6&6$D3PH/($1%$&I =L#SB"=?4^ILV
M'X6W'N70'\GGW6#AB\/"A[W :[#PD;%PQEBU21@KZ@2A,1>$&_A)"9V2T!HM
M>!S)R,2 A:PM:-)@88.%+QL+'_;FL,'"Q\7".1,_C$.7*$-2Z2CA/%%$FL 0
M&DBA>,A=@G6=:-I.@GDK?T6Q\"7%46_;_J"'%92:2.HFDGJ9&^OK+<@'QLA<
MT.D7J:Z8H%9G>"D2^GWRZOVNN9>B=*S1X9M/\4/[9<J5W<H7=M^S_QPXGY>>
M'4R6MSE]EWSZSE<M$$[(()2<<,L"+-PLB8IB24P4P'\CR>-4Y,&&Z;+BG]?%
M$FD XK8 L71G10,03P<0,ZX*DP::N=C!A H "(5LDXE0A,>15E&8BA(@ K:L
MT+\&()X;0"S=@F\ XLD 8M9^#T,#JVM"0HUVH$903F1J)+%6V)"GH56Q\[[,
M)%D;@'A)]ON5Z?Z_'4^T<D.],X__,_&GEIQ?R[7KPIL8E*=#H((&7V^!KXN*
MEPAG 5:1<AD4,"$H42Z.2)1P%S%J*1,<\'4S?(;U:1L(>N80])N68P-!#P-!
MLQFIB8V5X3&)M#1@^9F4**TTB0/GJ)#:1#S8>!ULIK^MX#40U$#0(T/0;]JF
M#00]" 3-6IF1=3321I!0446X-)JD(1,$U%4.QJ<&'1:MS$V^K )N2S0CRW>5
M.S7R +-L)U33QG+:>"9E5.](^E<C2F]N\=?H%G_5O4N_Q[*W#GBQ*FW<L*M*
M1FPX&>WUKUWG)YM)>&FT%W?+0O,\UN;JL^ZF*6JJVKZ@NK5/F(]6J&/-S>7R
M;,J=P-N3N5W)]T^/(S J$R$T6)$R4)9PQR*26BM) @MLE4JL"9:6DG8G&5IQ
MGU>#@B\(!9\P$ZU!P0=!P;UI%)0L=#95DE@N'>&QBHATSI)4ITG,1"R5D<M*
M1FM0L$'!U1GU>N2@-2CX("CX908%TS36)HF(BWA$N @B(A*NB8+S#S1_ ?\?
M+BL-[5%0\"5Y&7\W!VT^KI#!R,U@C)Z$J15Y:M??,^SBBW)7K4)2VVTC%];H
MP&[RUI[W>1W.^6Z$3&T0A8PPK>&\M@(,%LYBPD.M0243:8SE=9>3N+9Z44F-
MG#?I9\]4SF>\$RRAL<#:/"I6C/ H#HB,54)$X&!YN3:"NV7EGS5ROM)RWF21
M/2<YG[&_M52<AM22.$X%X4D:DS0-\'BWPB4!Z&>2+RN-;/DA?B^4D0-&8O4(
MZ\W[._7.3UNK*_%G$_*S'J&*^>9+5WSS?;!##\!]71C-+7DNAZ8Q@1_5!-[M
MZZ'MV?Y(=@M/M7_M5BWTYG!0QKU;\T%>X,-;PZ'L'_OO9<U1>;>CDL^9OJ'D
MJ10!)XH:4(E9K$C* D.4"F4:Q$P$ =MX':[2,=FHPVM@]BY#MNLZLNO\LH9<
MVN&@D?D[R_R,&6SBF&NJ8B)2+(1@PX2DD4!;.$X#SK21<;@! BY"&O[5"/ZS
M%OREV\&-X*^0X,_8Q=PJ+EV2$AO$(>&1P?1_)4AJX!,F)*6)6T7!?]F&\36W
M>F7T>4-6N1X6SQ5.PB(J9\Y7V+@)EPB'T?RU7Y2$"K1=DMH("T+AQ4"8&!*D
MD8EYD&J9!/XZ@-&U89MJZ.C6W7)J,.)),6+&5DJUB@(J(Z*I<,@HK\%,2D.2
ML("J4 G&;-!05C88L1*7C0U&/ Y&S)A5+.2PLM(1H55*.(T8D<)&1(E8I4)K
M%\>L8:U<78OK&KZ*AK'IN>1@/!%O995PT7 VW0%D=\_GC+4@E30!J"1&A!*,
M-1D0R4Q(M#)4J/#_9^]-N]I*DK71O[(7]SUO=Z]%4CD/KKZL11E7'>HV4+:Q
M7?@+*T<DK('68!O_^ANYM\0@ 6:00!*[SFD,TAYR[XQXXHG(R @AHG=UZ<H:
MA9[_V1:P=&6-0@]%H0EW4&CK$Y<189G[G+@0D3:&(2HL3P:+2+&HJU?6*/3\
MS[: U2MK%'HH"DTXG"D91;!)R OXP8.5R%KOD0N&*PS\E1.VF 4L?RD7@#?'
MPRHKNC5]]7>6Q69G6"Y:P2>A^77SW_!C/+BV[1TW.Z7+F],+1T-"&51>$5TB
M5?50KO?+YOD#GE^EE#2C,,/$&R\PH+ABF@</HFXD31ZS8(^(X&LWW[MZH'S[
MN2OU5&5%FI5:;Q35!$[__/>5-SH#)V=J6;_;C@?V^W:S[UO=_K 7#^#ZO[6Z
M_LNSJ_';D1J?-@Y__'X"*LOW_WCS_9#NXL.#1@M4LOWY$ZCNR9NS_>U&8_=D
M"Q^>&?SY[P;V[8\=^\D,]]N_G^Q^V@.5/N:@SB>'/]XU]O_X""KY&<;S>W/W
MH+SFV>[VNY._?^RRW8,W1]P2H3!)2((V(AYY0CKRB(3#W)5+[4Y6" M2'<-6
M#K\IJ8(Q/GCM)6=$6$^=E(P3E9+07JP5$<#Q%%[\H#>,:YL[>Z_W=]\4!UM_
MOWD_K32797Q"@:HI^?GMK@Y/1TF5ELS!EUQ+Z5S 243#/0&Y<  JMVK%KW?4
MT2>TA:7:'#1B\;K;ACN?%8"3 '"#JGK;J-C;P'Z'FS4[Y9>]4*8%?VL.&L76
M^]>%XGB]&+_KIRZP>OWS;%7/D#,!\E-4NED<Y*>8\T!O'=9& 2^Z'XO37O=K
MLY]3#XI>_.^PF=.KRXR$_/X'7: ,@]AKP^G%MT8<-"+,PZ!H]HMV%XYL-;_$
M%AS6@/%WNH/\RP!.ARDJ3KO]9BG;WYJM5N%BT1_V!Q:N$XKA*7P<O]MRXWX^
MQ.7DH@)^@>L7@^@;G6R8BJPY,/?=5'X^ON!&L5-]D$> JA&@/ )4C: 7^[E^
M1CG&.%B_]#1M& %\9C,>5K>Z/,XKSYJ_M>T\;_GS7O3=XPZ\W"QV^:L$(^_X
M)HP1GFE094*5+_1<<D,SE&^D8;_"E>"#8>?\*N'*C?N%+9]Q._J85P8J"\'(
M>I'A'<X-^1>\,6TEEU&S4PRQ!^^M%P?#7J=2[/PVSJ+M]>%!B<Y3V!T>-\JG
MAN/:(#1%]S26,W1):M;+5S.>QO/SU5W/+]Q9X8$#E5^7@@W7R5IZ,NPU^Z'I
MJ\F!D[XUFKY1WFD\NR!;_:$[B7ZP46S!R\V'PD-5@VC;LRSOXUOF\\#X@HB<
MUZF$5YKS?ES,M_.VUVN"3,";R-L:\BEV-.!\O168]^V88J]7)D%=0G +;QGD
MH==MC]2^?=KMV5Y6G03'1\#U_EC?1JI33ANHRKCL)\Q__ XOJA\O!.ETV /-
MBJ".6\57VQH96-MJ=;^5I@*F+O8SL6WV&S D +7.E:EUL=6,7^&")9;]#.OZ
M>1PP[O.1 5Z%\>/FX=A^/\)G)0CFLUQ^&+ <@ (;Q=6IG:;5ER9[]$*YR/,Z
M0HY7O=BR>>_5K]^:8= 8^Y*7SAK)!KXXQ;I^-SMV-YYRR4_P(+.Q]TQ"H\G$
MV[GTLW%>6?_4'D?DX(U^03;!8%_9UC=[UE_[Y:JF@%*,+BXXW'WRV6]V1FZA
M:S^E7Y-TC5E#.'CFE@EN+746J!V)SJOD9!)A!G1MOE[%>P\*,VS%_316:" Q
M6Z5\;W7"?YK6-5OE_K^#,F_X13L<.T>.&QN(Q\@IPQ'GC")-A4(X8DY<LD*I
M-.E /"\Z7X*KC*RMBPDMOL51FFK&[#!F9*F;437;,$#"G]"75W/ANN9.3W@U
MC%)5B3X'R')I'@;2LJ?]^&K\RZ_C\MK-3GF]\J1?KRIEAN*)($H)GM77(Y Q
M?$-KEG%FM#X_NO$(@C9*")J([%3?*;(! '/CUWB#W/C=;9<E=(.(FT^][;*W
M?P?N]7P&2^]TV9_D0"Q+DX[KX\/_W,DDI3N$JX;^O^ZPO?J6QZVL^D*%OVE9
M9OG.#W6'[=1+]_SXRO//: _%SZ0<N,2SU>V;,CJ/JAIPIQ2KY][*?_]!/O4^
M_^<3B*UQI ]<O=C\6MKHS!U&D1;@&!=?3&V2J1<[5V6Q<S+5(A*A-&<R1,&I
M5Y9'$HGUP3A)B2='.[=OY?&G_>:K:6]E)&OOSB4*).WWL:!=?+I(%0L>YL2,
M%S_WMUO-P_8[.*YQLK]]C'?;[^"^?[9W3S["WY[M_?!DE_[9V'\]M?C)X;CF
M9W!V]O_8Y?O;;\\^_P'/V#X\V_L$S_<CG_OAQV'[#?_[Q\Y4"^/ N:924'""
M<$1<@7=IN)((6R*<)%1%H]<V)14+M/19)V#4F'0;)EG'<:362ZTUUPH[0YC2
MAACA/",JEIATR]:A&I.>&),F>AI[EPR5'(35I%Q74#AD,*=(&JR94E1&C]<V
ME5JX=(Q9[:E>=![8&X)?\-7Z,M;ZF/W0J[15Z0FY47[_'T>OOT:;>Z'-[A0#
MXCH*35U$S.9MRTIP9%1,2!!F,(E"JDB! <ULK]&2;CE<;56=&V6H5?4QJCI!
M#"(A!-R5A$+@'G&O<SNDZ!!UCCFK-;8)B($TC^X(-T-5?3D!HK(Q#JHRA?)*
M5.ST'TX05K!@U.P)PGC==PIX<F+IZ+,W5?K%ZTL3LM4)O\5.3,U!_Z)RU.4#
M7G?[@V79Y+P,2/9VBG2 1? X:H>"RZ6CM'7(NF 0PP9'99SV)C=V6S=X!0,O
M-0#,BG;4 + T #!!902S1AI-$,92("YH1%8ICK!BT1FNF>5B;9.N"[E(6]]>
M3I3C?/FS%[_&SC#648XG)S'C#ZI\_!IQ[H4X'Z8I1S">!2*12SH@SI-&1M@
M'A3WA#$G#'-KFT;7<8X55M:Y$8Y:61^GK!/T(*B@M*8$^> TXLEPH =6(\4L
M\Y$+AFU91_[12R!UI.,12R#]F N&Y3T+=8QC@6,<XUD:%<>N%VCOATZ'4U2"
M.$L-^"R(1P94@I*$G @1!>QE- RF5\NU33ZK9LQUZ&(!]7H!0A>U7C]6KR=8
M!\4Z,9++7S!J0*^CSN5X(DI1!&:5X42#B[!(:OUR A)CSG%YTT\=E%@ UO$N
MPN-\C7F'73E'<*717%W:<%=#T[V@R4]1#FRD\2PQ%*T :+(BU^AA%CD>%0FY
M>'2N%$8>O5I2!R\65ZF?D'+<4:D7OK/.DBC[! \AG(?(?,B-I2WB7N3%$2^1
M#\*JY)AG>':-=9XN C+>L0J#C;>#Q%,=N6H#7J$8T[O\>]['/>S':O_="XLQ
MD77%<1TP6.Q)&F%P[0#._U6_!G;2'#RJ_=@2"MB"^'S5RW]M>[VS416H?IT?
M,SL*^&:Z0+V490U1A1@G''%J(S(T*12L<DXEK 4F.4&&*[I #+#V^9;(YZN5
M>NY*/5'OW4?)C<0)>2\DXI+%W"@=Y\KO2@:MB;-V;9.M4_7H('.]L/T Q=R+
M@US7L&?+8JBM;O]A=&-Y^>PBT(W]\03\!]Y_C4[S0J?O4Y2#&(]-R!$G*P+B
M*GFDJ21($<D<EHQ%Z3,Z"8D7: FL=E27A7+4BOU4BCU!.Y1-2CGCD<\=KWA4
M";D BBUL3&6K&6W8VB9?9_C1.P<7+[2QN&SCFA)C=7/UQ>(B?_0 JFITFB$Z
MG4W1#J&$<(H(Q,',(  CBAR."5$B6')4BV3#VB:AZYBJ9>EW6O=$7@G&4JO_
M'-1_@ISHJ**D@B+J-;@>1EADL*-(,F FSBM"> 3U)^O:S"HHLFKMCI^/POPG
M]ONOBH_370P>$S=YP4@V-R)S/D5;XQFJD>M^R/5CBKC8H).-0B A90+V@@UR
MC$2D,".)YUQB17+MR$<OT-Q7+Y8HE/*"=7UNK*76]1GH^F0(!8B(EHP@HP0X
M*9(RY+13B!D  "M4TCC7B66S:A>^>!1EV:(K!]V!;5W7ZFAN;''5BN3>^_E7
M!IKG1L/V8EU79I9 C:<7L90,EI.$C/$2<<!ME#M9H1B,),&KQ#DOW4G^^-)2
M2Q9-JH&N!KJGXJ UT,T<Z'8G@8X$)@U#06GP/A,7 'F6(JN2 :C38*E4"714
MS*JDS>*1TNOC9HM+2J\L^5W:ROJPUD+3O@*#%Q^ZP]R;9B:]A>[JZ<]GE"\G
MN7VG,["=XV;94^A!3LH+,,^K:8'GX&I<VJ+Y1[<;<F??K4ZX$+'*0D_^79OK
M&9IK.N67."ER#DYNK\H5XD03I 61**40&) NQDMSK=<Q7L&$_AJ^5A2^YN!
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
M-CYOJ\_S;:U$@6F+22YJIG-%V>FM7/]3*O;])OJ1]KN>Z(=.],G;(^O!KK*
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
MOZ+@W'-O=1PEE?/@ZB "&]LO=2Q1=N%RPQ='CB 0$JW!&'[]7;FW "$)@T"
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
M;J]?SSG2VL,\T_6:&PYJG>Z@UFX=@743:H-NO>:'?1"0V,O+4SN6D!=_'N?
M'QBW>@UX2Z=[5"80"$5"#7AFT<S1C9.39MN7E]:+P3OL=$\Z-9BUPYK?MUE?
MX.E]$/1^K04# ._,4>;[.7=N_S@WX<?ETXL>7C.(93N.NOVB5T60.%QXLM_R
M^[4B3TC,.7EC)[\P%"TY[@Y@MHHF[N>Y@P9T:@T8;E^(!UQ1_M$*\(#6D1OV
M^L7\UGK%[(!,S6A&;7!ZG)6V?5K;BYV8+RTD<Z_32O!YEBF0LM&T0(M;/7CX
MC]@9CA)"E$T%?F#[^[64JP27PNG@8?" ELTQ6*-[82R.>]V]GCT"$=J$:0_E
M0.>.YK'+;ZR!!=4=PFM;(7<VMZ&<B\&8R T'K38H:;^V#S/1[>7VSY: 8@C[
M>71;T+SI@/\K8?ZK8WDO)C7W!"QJ&'WH2 *!A<$JLI=<:=0^#'#\N6]A[O.$
MM:\V*<'K!O"*PC3/X7DU>Y3[V:^%82^_,2^VM9,([QIVK@I:,3G[ #IY"D]R
M6T 0BI:TL[)>HD3ND85V=$(:M@NQ&\EA^54I6Q<##?(:>S_R(-H TP6=NQBI
MW/YBTB;.PXB9U8%.7M/S?(2QOI#5F_*!+!N4OSM7VHN<V"5D=_H@BB G\#GH
M:AC&6JL ;P_#-&P7GY?@V^H7^'1187N$JIETY=D<%O-H]WH1OAL>9[$'2,Y@
MVLUX!Q(]R,HW"]*RHHU$]:@+^MLM1GDD4_69Z'HQ.[D3K<Z/;LN/8 2N:=M^
M'V2@ -$:-"[$<[7KCS_B9#_F /!X"N*1TR3FSM>+;A7B??G4T:M@]?$EH,/B
M#@_L09=A%NU@"+U<+U)PQ/ZPG=<WN/UB.,]O/X>2W*:YEM5RD2@R:OZB-ZU.
M"0#>EP\NTGS [.;#\.*](SV"=37&K*H/G(/F+^C_QC!6"6=F)9PY:WQ7@M,H
M;":Q22!.B44FX8"2X0J^<,(P,YFS*<!81TZ\UDQRRYP+@CE/%!9,@75#)A/4
M7,T5D[/$9&6S[=-^JW^1(F:O6)FO$;^1[/X6?XZ(RG6TK/\O>)H= -H"02C@
M]O:*F-6V6!HN=>8*/%^?@V:2:)>0/#,_UHUC]^BY;,0JE^HNN6PX6\68/T1>
M$"S- R0QX7=,C?++QK)5PN_:H%]F7)'B^8SL0S56W>ZQ57J8%YH\@63 -KBV
M84^O3WRW+(W-3*,&5..14\0\MSDUI%Q'!]WR7Z)Q^4LUR2]GDHDFM?]3J>T+
MFM&BH-5SGLPJCTT5UE*%M4R<3O*D2&(Z8DP8#]@:J6 HA.)$!LJBO6.V^(^]
M;O_%Q*^<['[<)%L;GFYM;\)W[S&TD6Q]_&>_L1'V=W([MP.\=QTWIDX:WQ[N
M''R%=^Z(QL&7%O0%WON5[WY[?]*D'PX:9WND2:&/&Y]/9^6D(2X*C$-1[DQD
M;VR-''$4<26=UU00[G+\"EE4G=DJ/*_"L67J^!PX1DR*%"<;7/1<L:BYISXF
MBP46W/B[5KVH<.Q..#;A=A4DYXY0C)1P#'')&7),2:0Y492+F(+E@&/WKD];
MP5@%8\\;QD)R3@8GA/, 8\(;@0VVDD7,*&7>53#VB# VZ8=.#?,<"#)RP0;$
M<UR<5H(@S7BTP8+0T@@P5K&Q"L9>.8PQPR/V@GA!,?=2.,N\P-FK&DM!9*I@
M[#%A;(*-4>EB"-X@!XP9<2J C>%HD3'280Q_BA!RG:E[%QFKLB)461%>H\>_
MT$9:#M3 Q,!5-%I&T!NE<?" @U[>UN-_-OJ] M?^1X+&Z?0'G"4>A0D C40C
MF#L/# \(']!QGM>T2$510I<J7$4'55BQ *R@@>AHG*,N.IX+QHN\=24-?&2-
M=N9^6%'!P7QP,,&4#."!)M0@+)D"@T\'9+W$" N:DN61\TA7UBA5%1A48+
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
M J> @I9Z58'><H+>UZN@IQU3!MN(K"<Y]T=2R"@14"0D)*$,%\Y7M1PJT*M
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
MT/-PC.K&W8#7HGX\@?$CL!0L[]43H8V@3*FHA3,T*5:M_$NG?I.AWXQ:HG1
MT>1<5-QJ9 1SR$2ND_?<1*E6UL33:-\-2_CYKCFT*?Y:81_KR@7MEQ6#I9:<
ME&2=K74=-*0XZ.L_2$FI6QF-SQI"E5+<4D,DD8J+1,%TL@1[9U(4A'M>,9CE
M@M#I!-9.@]%K D8B*8MXH %I*A6849Q)JD0NGK"R!H+Q@K>2YF!$%0C,X%%.
MTQS.+5.T/$:G,4DN1<,Q0(.0N.)12P<"DW5I1;")@MTBL)>(R\B1888@+72.
MUO=YCVQE3>D7M(/R(A)Z?(K]_IO2Z:/5[P^+Y!Z^VQ_<C<X\W_J]OSU!<,]&
M3+'7B^%#JY/'_5T>]F:L@&J!0#6=!E,E'G-V(12C9(AC0Y%U,:+@%?.6>N.I
M!K92QV0:IZ9\0>9$@@=E(A.OO!,3>1WZNZALX97^/H;^3A -[9+A"@/'8 DC
MKH1"1AF.DA.,<89]E-G:J#,\'9#\)/K[BO=$ZK5.'%3[(D\:09P]>[.+5YZ:
M"ID6ATP[4\R"^0 4 GMD.05F88A&ED2+ A6.YOIK(9M QM29?/!:OM4VR'/4
M^441DTKG'TSG)PL.1:F"HQXQJPGBEBED<Y4PL#%,Q))3I?*VAZQKLJA4I=6V
MQ\*V/?P0Z'MG4#ON]O*$5%L>C\I&WI6C7P'4X@#*3Y$2@3FSB3L4,(V(I^21
M852@A//1-@^68[6RQNO,\.4PEZKMCF7=[JAT]Z%U=X)<.(,ED58C*I1  +L6
M.2<XHI:S7#-6*^E7UEB=BVEN46UU/#2#N!(Q>T<2-XIM9=#GT!WF2-GSAE=A
M! L;H.5&\B<F8<UNQU=8OF@LWYNN\JXCILDPA .78!Z2@+2-&*7 '95129%+
MS!A>-_+>)2\7KD)/O'M4@6D%IL]BKZT"TP<"TPEBK CWE'&"&+6Y7I>-R'I,
M4<I9 XD/V.0\<XHM?J?]"<'T3ED[KTV;M31Y/->OY'N[FDZF7N2=\2,WOMH/
MVQ[&?'7AKF2/CWO=GZ!/ VA,D9_&MGJC:P+\-^@6G_ZPO5:1@Z:5<T_$_J#6
M@SMJ)_LMOU_KQ=2.?M"OP> <QO*K_D1NN24=U&MSFLS.5_:N#)Q;W^O%F'TC
M;^KCLHG)9B?#]\&P4P+[26NP7^L.>V4QZC)!7Y:,__F?39CHVI^V,[2]TYPJ
M4-9K)[%6)!Z)(0M!MV9K_=-. $4;P">CB$)[/C#EH[_$O>S37WMK.X>UWU9&
M?Z[\JP;-+P(1;;]FPU&KT^H/>D4B07@"W%T?"1:(YH]6@,?#,@#O^W_F6)BD
M25(8[2/%F.. '?QGX5=&0U BB;PP@9*0&U-=?H)!W$KEQ'\8!4PV+&C,\.AM
MM]<K4CF]L\?PS>#T8DF2SW1)NGNFKL^GC;WO2H0@A<6(D%R7/BF"#">T*&$4
MN?=,J;2R-LMWM0;"WLY3.IC*HU)DPYIO\CWUL) E[1RP$B&5QMP($4UPVBL:
M937Y"YY\LK7^G;/H';82A:0]XMKE(@=@H%%G,\$PV :_LB:FJ<3%W/>N"U!>
MK6T!&@T[L9:!J$QA.@5'G=HZ($]&BRPP7V"-*I!I$K)A.;,#N 5>8?MESFL
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
M^>OI(Z%**X@H*F8;6T\/YZ-#)VH'00,H9WYS!!-;"-_RV]QK>A7_]:/Y1D@
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
M93K3!#,DB*:(*4&1I*'E>6HRDTF5YF&9YZS(>A=7:A>//C*>ITKE"@&6!E]
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
MF2H,:J[52''E "^=H"P7./>AP[1HY&+)#)4:)6N47&N4? (#OD;)-4')>6<
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
MX.[W;R1?\/D&TZ@/ID(O6$4 E9^Z0U!F0#:YH W_MC%9Z8W?DRM55/@3H"_
M' BM?RM84T"V<,I62M /@V'/5A99TAZ>*(#;B:WUX:\V/ ATTYX*PJT[@K>_
M'6L0.),;=F'[3H+!$O V^H9+R0(8#AHPB$HP4& .;YP>SK_WKW8R5-UHB8V*
M68"M8'Y*- $HP8CRP\%%<@IK$]4X!P^+?Z@PJ)/>0,,K>RZLC+U14J84$23^
M,*X1+$*X HJWKDPZ%72TL#[*^Q+6HRXQ!"DQ7;<2FF^/'BR0H&_"Q@;Y-!VN
M"K8CD(IU%[!.E7:1O!VZ8 _<3.\]:"YPV^$()%AQL\:W9CX8CZ(/+FSZ9%G=
M9,4WOZ5.KAHM=V:G-ET@,.-@"\;%E$B+R:Y%Q6!07@0='O86]#-0"/I@@)L&
M"/OAN1N5-PUB-55@@^'XLK3'*P)XOWFX68KXDD*JVUVQF71F-#WM@.ZC6!\&
M\SN\65EX']#+C K9M]WRX?#U;K\?OE514T^-@ Y@+CT?]G>66JY.N_#[J0+S
M'IY>=(NH-YP.!^- R7!O5&$B470G##MK?H2O .V,>Z.HTPRF1S</TI(WD^:@
M& %D!*?[]1_?13+1M1N=WL'>Z8_^0"](1"'AB69_OIS:.L=.;#/V;0$+/T!/
M.!D#<7;C$BH&)I@G0)DC5=(5*(NC03@K+FDBH-(HJJ%)>&[%Y  MO9[KGT0@
M"RKEH ]#!#KI!JLEH&2EEH97J%[P,SEU 42]!: <*>O*E<\O3L&\!0/8F$##
M5UW [*&[&"P^ZF)@7>69"B\LGPKD"%,JO_,IH&3@P/Z).JEHOWI48%A PO+Q
M[C-,-AK+T5<&-%\ZKX:#(FC-1030PBVNU<W*Q-?,Z-@3& ^_QUFI?@GH<?@]
M4+3[P,!AB&%6821!:;@]OR'@!SRB?%4?**&<(4!IQ5#?AZ<U<WR;.:9$.7%@
M?AKTQN&=(+L#K9E>_/3&/1KW&.3AB8LVE!D$Z+>E!A 0KY(%06@&; Z4"!1^
M.GWN%,CA)CL>!F*\"-<!/Z<B'.XWL#Q@OO4'R0DH)PJTE^"TGCHX'%CW_?"0
M&72.0[D&/BOB=\)?5Z>N=Q%?$:S/RB'2&8Y?#[OVQ,W071@QV*%F!),:A-K?
MT[] EXL'E3#<R$+5@LPM5Q!UUXD?#Z.P@P49EWZF4@8%9^C<\EZH&\: MTQ8
M8QQN+M\V&5Q-^T].^Q- GJ5-H+Q2,KL9W64*^=/.4,'9F/C>X*KXIN+P/-._
MVY)_45]2= P%#UY ?%A%%PZ=+KJC2E<*RUJ*Z #_ !S1&+#W<-J-M1"UKVYQ
M7M;7F=X5-@1FUG.5^(K(%*'L1N8526\0],BBXLX9_;%2!#>3PX!*D^=&'%MX
M--@B8)\!3$T8?X&C2[=C7(#H-HM3!*YTY>E8J8!&1)OHW.5])83Y;C]H)D'I
MF RP.K+[[[AK*SB[-;4'.:96VQ2YV\/P;8_!C@LBRE4[^A43H7%[P8.1<ZI
MRP,Y%/;K1DL)*WOG%D1M_PY]_J_!59!^Y0O":>.%&MVH/7[&>.S/PLA$R;IY
M%WP>'=A!P 'A^?%H/(Q2KSNP 4\N0NV'9-R?^+O#W<%)"O1ZZ?K1V3FY9S+-
MB5BQP0X?7"X<I434&E='N94=/+FYE&Z7@T"V87C%-/PAN5*?RE.4Z=RZ?5_R
M1V-J#T<H#'I=..%1_4K/#$>JX9L@YN(935#$AUT]+N^-1C]HQI<C53U@^H9/
M\'G8U/)+DXF=!('?CUX*9::&YF44HR7?P7JJ$S?UR!1P307+MCP6+WDQ: *W
MUQ4T$1 $I2_9V6[@Z<W@0*E6H'==3@;P9!!MB,F"E^!0FH=A$X&^5'!(P/I5
M%+%X"%/NV0P=5(%/C;O-S,:L^+D%#)N+K'__$=>O%YW%'R,Z"WA^%:*SGG]1
M[U8Q#K?_VMUY__=NLK]_+Z6MREBWV\VW[SN[!\G;@_;>P5;S,-EJ[22'1X>=
MW>9A(]EO;6\N>+V?X+"C&([^.#2G8"WT7-O_,SG1VNK;=V-8)7\-@+)5GIX6
M.^49)^##BIR*7#=W]F].1<Z.S^'ZE^.]?\Y:.^?XN&/"J0D]/CON'N^U+EI[
MNU^:9\W/K84XA'?7K8LPEM;Y\8<F;G<.>JTON[S=.;YH7?S[_(@>X:-.\[KY
M99?\YTL3-T\^.N$X,X8BH@E#3%B+5$HD2G.5.:*M4JF:/^1811K\9^OO]UN=
M_78KTMZ[]UM_[[\YVF_M)5O;V^WW,;YMQ;GHM_U@W0[&\ Q;3-.<2YOI=D1S
M4)K59>'^F/SR)PCARYZZ_J/;C\^--_UY.]8BB*.YD.4X\_)R!9E2;A)* VI6
MV<[5BRM W8R .A=F75Y+R68N[[^,-\F]U[[V6 */3>^_]6N/_?HUGN;U8.O!
M/ME@Q8,>NPZ%!<2#DG_ 7C3#[N57>Y*LY<3N3C%YG&[PRT[_.:76PU;GM>I%
M@U*-7DZ^/FRD-R>9 [_J8RU=$W.62DUYM]9HJSI#+%9],T/PQ(FS)8Z,!N6_
M9E"L/,>4SM4JLO<W\ON:T>,WDNA69)%W)H=;L,1TW9;X981-R4%J5/[K^G;5
M]WC@DWL1_7NKR]Z;OHH7,UB_M>7PD!=*&=_J]09748$((3XF>(1'22]684YL
MY(S)87@5]AY/IEWW4[2*JY D7>D@Q:ES][>%^+&*O:N7;1]B)!]CLO=5;/AA
MPEOS>@T_/O_5II]EJC7XE C/2,X,8QH+[:7)O$V9U5FJ>?9Q'XA1?+M(PXU+
M=L+VQ5;?'KB00NB*"MW7HMS"=WMKRW(+E_ ]PUN==[RYM\^.S[9P^\._S]L[
MY]=''UK=X\Y[UNJ\3V$<5T>'<^46+IJX]>6<P'NNCLY.+YH[[_C1Q3O6[OS[
M](C^N]?JG)!6Q\"<7Y_^Y\ONJ'F-R_)=G1,*S__H39X[ABUR7%/$L+=(.YTC
MY3-G;9I+(B1@2X/094O2/(:@>LGRJC7NU;@WAWNI-H9@0W*?6Y9JK PG),VT
M%9)G/L-+5ZGY.@!NEX9B9[ -QB%\OD[%:-<&$%N'MP&1,DU):@W"A''$,B:1
M$I@B@H74L.V&.Q>ZR*>YJ &Q!L2?$!"7*;S]S(AXXQRI0?!107!.*\0X54X)
M@1PE!K$\9TAH;A !3=%+!XH_\0$$V1U:X=(%N6O\J_%OE2:^!/P9SC*IA3,6
MS&')E,B=53;55!FF9:JB(?S#J%<;PD\ >>TYO<]C3QS+/<*>9X@92I%D#B.C
M*76<8R.M"H8P7A^][X'!!#]V9+!Z_!ORG'[@>/Z.*:\W8-?06T/O"D'O_H(/
MTEE)N;<669J%[@$F0])+4#YS+KPDDIHL_R[H?;'RUC5XK#9X.)I*23-N1)8S
M*3.E!/56B]QFWDFW?%'^VI'WXJ@R[\A+E>=*D11A*E/$I#)(ZE0B32BC7.8V
MYRR@BJ"\1I4:51ZED>3SPDKM#7LB))G33[*48\5!/\F-,XAQPQ!L<(ZDRG*?
M*PE@0D*#R=5N"5^#R%JH)LHK+%.19EHHIHF0+,\SI87@ !S,NV#7_#ATU';-
M$^#&O$M)6YMI0S&RS -N>$81B >"4H93$ I&9]X&+WJ.R?IUL7^ U^AGB:NC
MY"7BZGX>H'[8%%>;"FH$__D1O+G@F0(Z]9*D#C$F?:@0:Y#"3"*!!:>&,*&E
M_BX$7X?^XC5 _:0 Y1P7F;:&$Z68I[G"*<Z4PQG&J5,\7[IQ;^W]>G'DFO=^
M:2FTD,8BEOL4,9M'F]4BSA4UGFBC#8]QO:1&KAJYUL?#]KS057O8G@BMYO0L
M(JBG)*6(4;"/&<T$DB'\5ADGP8#VTAL5]"PI%EL^+AUO5@-5#51/K6)Y'@)A
M"<]=:IAF5!DA;9X+J33/C"#1!OQA>*IMP"? IGDO7NH95Y@(I*D"@/+4(T$L
MJ%/<:TJE]R9/ S8)NFP[VJ<$J-O]9N?SH&\7(TW+>KTO4BOP-_)[DB1;-_W'
M8E?#VUG IRJ4@^_V$U>4-3^_4K1YA69&P\S>]R<5;4."\C1I^6K8'8U<J 3J
M&TG?Q?*E58GM[O=-[QO5#6[=F&WF?*8D;22GR8=WI<C7-<?6K-A4/=AZL'7-
ML;KFV"]5!F:=:HZ5&UH7'OL9R*\N//;4 Z\+C]6%QU9JK>K"8[]NX;&J?43_
M9*;R6%&7'JM+C]49U\_@6!>.9IX3[%U&F<MSZ9S,7"Y)GFN:$E:7'EO6L=X]
M^G)PWMI[=]W:.SYM=M[!/5OTJ'-Z>KQW= 6?L];9T76[\\_Y\?:\8_W?9W =
M'^_LX^.+W<^MG8-><^?XM+WWYCPXZ(]W3FCK;)^W/AR<WU5Z+!-$FUP;)*D+
MAWXZ@]^T0BFCN;4N]U3'$ 6>Y>N2<5WC7HU[3X-[7$G#O<\5LX)Q[(5GPA'K
M>(8QE3EYKM)C->8MA7D+85E88"YEAE+E*&)&2R1-3E%JL<F\9 SG8N.5S'&-
M>#7B_82(MTRLUS-#WFRL5XURRZ'<?%'93!@;]B7-3(X89@8)+"72-G=$$VI$
M[C=>\>P1@KEJ@*L!;I4FO@R^.>H%499)PAB52@E#F<^4]XQSGO&Z@LW* MY\
MC)C)M&<Y39'*N$8@KQ32V%CX$Q-M0</SW@13%J36NBAV=?&P.LE^?B:KO74U
M]/[\T+M8/ P[GN8F QM 88=@^SS2J;9@5F<,4XL%T_J[H+>NT%&#Q]U'$"GW
M8)>ZG"N B]P+:G/M9!;Z:*3"9G7QL/5#E7D_G?'P/ZDD$MQX0!5L0OA_AIC*
MF$HU\=QF(>@_2Q=+_M2H4J/*=[B[GAE6?K'4QN=#DOGBILQK[$B.F&8$,<8T
MZ"<V0R33(B2J9IS14#R,D(>7TJ]!Y%<"D24P)%>2BE09K[U@J0*#1LO4**RX
M,I817)>>65G<F'<I$9XK;$2*',M#\3 "NH@U''[DV%+NK.:Q] P3LBX>MK*\
M6Q</JQ/':P3_%1!\L7@8]]0KK$'?DR2TUG0<?N,.46<5<93!]?2[$+RN;%$#
MU,M5MF!&YEQ;^&&8=UJZ5!C&<9KCU+@L?:[B834X+05.\PXNPJWDA"C$K,2(
M28R1X"D!]=)ECGALO2,;KYBHJX/5T+0V+K1GQJ;:A?9$6#6G2 FAL# $(QH:
MLC$&1K$DCB&I<99R3H3GT1E/V6)_H+HZV"HQ\\\,5,O@%,ZLQ1@, 4]9SJS&
MEMF<6FF%5!SS1ZX.5L//4O S[XD3(0"9<(Y(1GG(4[)(>261=%X)K!0Q3FR\
MRNF2)X%U^:^Z_->#RG]55-4:7\!5\X/EP"("2-"',#'2<.Q9EJ>"64.8EQGU
M!J=6?:28;\S<]0(5P, 8^9X*8 1OYEP^>C4ED6]B]K#R3H];3>DY$N+S.\79
M?F>W6>*7W%PB('+EY[7]UQ8(E\-DOY5LM7:2G?W#K;V#W=WF;JMSF'S8[_R5
M;&UOM]^W.EOA@W9K\N=^:R_>\&:_M=7:WM_Z.]RZ_7?[\/W![JWUN1MZ7P:$
M6H.^6P3+QT$(42-$C1 50FS]7!#1;G4.VG\?1GY_>]#>WMT!)C_<? ";3X9:
MD70(SY=/J8+$)_[1'<&2F:_/+.+![J>)Q1 TCIUN87J#8CQTR3;<.H0M2T*I
MI;?#@7$6/KZ_HM5SS>^KZ/;!)1>JVQ_!?XF]F8N9G<OE="[)Z%2-$@5?L*X
M G,VZ)IP_5/7.M"^5#'H1PQ3!3PFJI_QCE#6I=LO_3MAX8;NO^/NL+Q;N\F+
MX6]]G8QC(9BANQP,1]4+KT"+[<)309,MQOJB.P+#$+ Q/O;0F3%H@J#R);N?
M*SUWRT1MD,B4-6 H"1A\\'V;_!9NV)C]VL;OC:1;1+T1T-8VRKD61?BU&%_
M%L%:VK@*Y8C@CZONZ+0J50.ZM*NJ 15)<0EFIN_"-ZJKPW&H:A/N#3,OPK,O
MQKT3-2HG.C?Z\+WIT+8'%Q?=HH"U:L0+<1F*L3F]M8PP<E"'Q_#0^,SP10,W
M@M5LX@>PNH/Q$#:XKTY<, U@LGW3&P<(B5>V3[O.PUMA%*/N)Y>TO>\:6-CP
MI/+:F[)2C^I-KI4+>@ESN1QVX2U38R,N1N\Z&MM%+($U="=J:,LJ/]5^WY#8
M9O+:&34N7-BIDCY.W1#&F/2ZL,.JK*(%#P_7P*0+^O\GUX>]"3>H_G527!<C
M=Q'^^C;A@H4P2-PMSGT M1O@QPEQ*UT,>N/1 FG#W"?WPWX4XVHGN_UB%)T)
MX55^J,9 4-TX[D8DH$2%K;H,\SA5L/+:N? N]RE4MK*!TJT;N5@Q"8:K)HNK
M5=$M-I-=^-I#)A">,;SH]J><-EW(.+=!'Q[Y(.[M#I.!/BMO+2( * /T\<G9
M^^W(E<"WK6)"7P !DU]+CDVBK3CAQ8@"@<,; 6Z,&@X#)P_&L,/]&<IIS$!/
M,88'?8K$'A<^[FM\O@I2N'LYI;4GX,+)K.8Y(WQ8@G.\?P!#O#6,!U#-;RI0
MCH]D U!V"U8/ -,2DBI$^&_N]]^3R_&P&"O@6J"OF6N3D<S>"QRO L:/+P?]
MDK!FE_4[%R*9D-\L<2VZA7S\WY_/176PLF&#707<#USWP%8W#%J)S3O9L@><
MUWMYSEM2<]J.I!#%^WZHW]>';:R4IB2PXLSN'D16! 9Y\3E^=9_;_:2IKA-"
M&TGP-D?H4*:2=9WA>'L P/KWW]O);____R<HQ7]6G\6_R)^_1V'JQT/8Z #X
MH?*R+IFN-0!1DT[D'U!,S$Z-4MU/5PE$S"@B"HB$Y$-)6-W^.,IDT.G<R3 (
MZ$NXTW2##)PH-^%7-[CLN48",N:T#ZMU<GT;+HKH-PR$"V)*1RBXN=:HX*X2
M?9-75NSL2G$.PJU4PX*,&[I213$5"50#C"0P98=( S>S&TYH( 'V"/^$Q_IN
M\,0GUTX-[Z?_:H]8+- _*&)EV3_B$("Q_IS8L-$0G;FKLIWQS2T3F7_O+4]>
MDO*!="BS.7?GS,_3X8WQ>.*0!D Y1\K#8/]0O2MU76S\ZS9C 5=5#^<,WCX_
M]_L]'ZO)HYV@5@)CP@_0 <T-!@5RVBYUL,"/)/^S6"#*^VGRH4+2@Y"<H=__
MCD$W@$>6!LF.,^Y"PY\I*1&DE!=1(PQ>>M"P>Z"BJ2@4@DT"/!FDQ%0H7(.V
M?!X40V"HA1L:/S;%S615P/=N<=*<*E33N6WU^^.I] B*\X*<::^EG.G<J*?!
MZ.M.M(L@24$"K*0.=/O@[B56300*"*"79#1*K)5<IW(_!T/8W"@B US!ONH@
M-'VPB,T=[N<'4><S3NUN#IWPH0<^M.XR8!Y8"@?NI N6>U"1WHXUZ": F?%,
M+V#DF^[PXAD8]\5W_7Z.?DF.B6A2,NX,\Z2)6DG.N:D5_B)K]5V,^RCG1H34
MYT;UN5%U;O3ZISHW:G?^VCU(]EMOV@?-K<Y^N_60$Z.O,M7+H,/NC1]GZI;S
MW5YT^?G2W;B@K+X9@.PC&/U/(^D,!]?)SB:,!,SUX=V*_*'K=\$>^*=K7/)V
MZ(INE*[Q,ODS.523PP>5F/%P.+E&\9\A "XT YFXV0:E*ZUR2DQ&6[TNGH^
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
M]9>8*B^U697ROLALE<":I]6\=\)Q*9?SV!;R$LR?%)$7:TO@)94SEC4J\_(
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
M0HYS166^O,D_]PMZ=7%Z:SBWS2;N&$JI&I27C6MQ-)4\=JLC&2,'>A,\^#F
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
MHAK0'YX045'7T9,YA? :L665:.3AZ=8>F-^A%T!KDFO5]!:DIVF#_11=&O)
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
MYN./)\MG@@EQ_;?S/^G"G$?I02O&0(E@P*5B(6B7N6.R:!/_]\<_J2AR8*&
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
M\G*$@2NRAV6L>CN"BMJ!0RO .2$=)D\ZO4_H^@H9AP.[7W39^%2D(*'NF+1
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
MM_<0-<3[DB,A9W>F](L.5?/5%!>+\@F8,:9.,B._7\8,,A=?R!"2O>84/>Q
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
M_7(P31^(D'&:103Z+0XKP#ND<=W3#Z?YZ[,@8PFSP;1#BN\^NU-Z1U>AWZ6
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
M@<\61)ZFOJ=S!6\+H .U<RH@.5X,4Z1?17I6MDY+TL*!3X8%#*9XT6:(_<D
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
M;F['UFB#D/EZ%M9UJ>GE$KT.DM6NE.2B%[(?7&V1&'(1:),,:-H88MO3^+U
M[&#]=!U#WV8E_(9A,AO/8R-_X+@_RD_R?\\FT_KS:@2P/_SZP.4ZX2D&6T?"
M)N8<*%_-!4?F D9>;(Y9>+;=A?KFI%X.",]0M5W'^;?A[H_QZ%._NF/O1F]P
M.AL/;[B;W$UGW&$O1L9=+ @%@Z<=7AD(LB1 /I\4Y%7(H3/D'D;K=PC=(RJW
MZ['JV[ W;Q'WE&B?)U]Q.%D8)638#]_CNO6YAL?BL0@Q/Y>-K?.N#,18R/\C
MK1CZ;S);=O$^$L'?(8J/K>8&A8B;9=BSM+:TYQQTBJG.6A/@HB]@6=9*\%(,
M;],C<S--EX.QCN7?8!CYK7&JBRC5W\-@M@#X8##Z,PQ3!:_@0E3.HR4WBNP'
M()M"0I;)!>XP<=<FKK<%<9>'E:XUTF#(^681+%)\/B7%R;2$&@\C]C,Y2E$*
M(!\J2D["*:[-/9D'"#M65OYTV\GN\C^73/S7 _C);/IA-.Y/O\P3*\J&;*,F
M&S!*7<44(2#MEDZB\S:(X+#-#8KU])PJO]ZIQD>=2[Y!FNDN5=<9DVWH:IHH
MWT39:3+B76CO04 <(/IC0J,.?2JF%JY956TIK/%>A6!Y#=LIACFT*3\^+B0>
MR%L?$Q&[2+P!$H@*G$S[Z5EMZC[^<IW]-"[F)&*M<.:>G"UK:C<5#[%89GBT
M(C5J[;>6G.-;J-UH:]4L/5C4#3(L->]3K_V]HD\._M_9N#_)_;0(FB[ND0N>
M&-<2?*K7R;(P$%RB$U<XIS%G)E;#@UU5)-Q/V(5@HDOQ'V4VU]OI*/WS3BCG
MNO/J],O<EMKO!MY6#^[@#M[N#*SVHXW&:/(VD">O9+$^QYRY*\E+'G54O>U>
M<>"Z?2BD]O3+S4?^"%_JKYY4<_?&?S+9A& %.;[:Q7H=*H&/GD%Q'J/F @MK
MDZT_G/;N2N5_)6R.OB"^Q?&G?L(-I WFCZ3O7I>;0>"+7-*\]/\=0>0I?>:?
M/6,<BU8G$(E6K>*(X(MCD)7W)2KIA&\S]JP92\??:8^,[<T%^Z<$1XNS_BMC
M<T[B*B=OR#P9T_&#>;Z#T;&T\IN_D>8G3VI8?KF-W? 6I9%*BPS)*+TH2H_"
M:@A6.IVCEJ71>-V67'W'V#\Q1%J4W7[+VWU"GFR2\G6+R9H\33J"9-:1(X@.
MG%4,O+9>DN%N96P]'.I %HX5QSTO.!])Y><2$%Z0OVQ+R,E%L<IK,)R\")4"
MR5'R &AB4=RK['(;R^0;,DY_O>JH2%AML+*W1EKLAWL+XH:-8:Z]:&Y5XV_#
M4]/8<@NN3A.7/@ LJ]O@N6CZL:#88!1<)UK>R$O]PNO(((1DO14N6>%Y^L[1
M^T (_<S!NXN"&X!VQ6A>=N%3J>3$!'",IH:"R3T,S((U015C?2RQ32?5M>2<
MH>_37-.CKM74P(O_ \>E3NX=7@<DEJW:O%0\&AU B=IVVB(2H_1%Z!2XS1YS
M:C0T8#U!/_#3B:K.(:K?28>]'5_1/-*_V\7$G+E@)?%0C HF>5*A2%*@1K0^
MF8=B_AU?5NS K4;)8ZC#PJR2#)2L320"1UK<,1IAN;:AS5#0TT?_Z;U7H^%<
M8]?=G1:KD[9[''_"_&(T?C&K35!?3B:S>;6@="R:&#)@]AE4+@5B8+IVUM2B
M,"N1MZFAVIG4,]QUN\7BFG[7#979XD[C-DF%WT?#3V1\X.)DFKP;$5^W_UX3
M"[^/IO\;IS<IAYLG+?[1Z^D''+_[$(:O/RZNX!6GZ-RA<T9'3^=9K3=P,C,(
MV2AN XO!MBGN.1G+W]UJ>!S@:N!1-6-\D<BC7>3Z5_5SO*=CU#*8VMNM1% L
M.@C&*3!%%%^"TQC;U&<?E\\?Z^=\8-1B\N&^PIY_^7NM9AN^7W#&>V02NQC)
M42*'J<Y=RQ&B#<20-C'Z%)4UC:8C=LC%=P?XDT&@10/,:@2^P8^S<?I Y/XQ
M'KT?AZOK<CU:@T^N:N4E[Q5OR'DG Y 6&<F+60072X*<R9D3MH18VHSLWI+
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
M;7:YI-W#; .]D5W0'6N*?EU53;\H%U_7A3[33YN;+BYYXED@+:721&":6&!
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
M3V<I(=J1%3&D*8T@*HAV856DC;$X8QE!)"K2K$=]!G<)G%[(\>LR?)1U_4=
M.S6 6E:V;)5O/+S'4CA::6&1?;VHSAMP^P+=-KK0%#S2)ERC0D#KS1NVL%:<
M^_3C6G/>L!Q8=?XC]+3NS 9A4\KA%ZU<^])$2<32-(MAHKU&;<)1 HG@ A;:
MK90BC51<>.W#'9UE:G9:<^9 VS(F"U-;3X%65F##JWP+R!P'U]$$NQ:RH>TL
MBU97]&4K8D!+ZAP"8<VEHS.-:Q.=4_; \#E[<<_^H<=9YA>YZKZD7"K&<QY#
ME6E[!E&90)Q)!J52F8PU/\0I]>KT>&G&J1'$]GN[S5#1S_X>15CJ\&QL>!%[
M&1?ZT36YT+*@$$F"(,MR ?7?>)8F*<]SZM7/-2CV(_1X_?)5H]ND]3VUI\=/
M^H)Z$+3=&#HHAJ]B*E*U,AP^HL'HC%G8QI079QVW6:4K" <-+)UOO#8+_.()
M='WJ"-H>><Q(%"N>T@)&&A^(&,LA8YC"7+.6E"HEBCGE0P:7;&K?E-WC79=0
MFOIL+$U[RNA9T"O<LKL1YZLLYL $._(Z7I&J'@CS@7+8KY7NE9+; X%Z.NL]
MU 0]/PQ=V=NN)E";=E3;FGXB3[D4.88QD=HQ*%@!24055 SE69Q&*"V<TH&<
M9IL<@;>R]2JE>!Y71S8-A=;0#.D(E#^UN0 0EJ[.SC@N!;DH?T K3C?U#?O;
MH:>%^"Q795/CZ6U9\_G25'SR;![I,>*$'O>MF. GN9"J7 W31K('.H%COMSG
M'SG6RQN8PQ@O_R%ZOC6T_FK^;P)XO]&Y>1<_2SURR4V-/?T/=OK=7^Q<>2>K
M<BD^+'AECCK?RN9/_??Y6FB7OTLD_*Q?^G=*2?WB):I((A(1J$C!(1)"F>I=
M!4PD5I'(<)K$D<]VTKCB3VUOJA,=_"!:X7\/;-Q9_=5&@=H?Y%9AS]C<<1\-
M1TZ>[((/3.M&E1M@_@MV-+H!6V6;?VRB?U_^[L4-#0A@^^QT./S^!FR@V*96
M&S! @T; ;\>KK&+8S\^X*HS[!7N5Y3GX"+Z.%#WJMMWJ3[.0HI7'5J>UF]FW
M#Y6TG^VV>&J*LSPNE(3Z,Y="A#&"+#&E+"/$&,ESQ+!3T1R?2:?FMK9B;WBJ
MJ<S<[/UO1/>H_N6*_?G/RU"(#OQ1< (3_-K([5-3S155CT)J Z [4O6TZQY9
MOTIIGBB=+8_F.M9X-=$\M7M1",WWWKX52]Z7<_G+VC[=<9H@GD8Y3'.)(5(\
MA@2G##*%"D$+)EB!_,J3; >?&B\W\@$C(&@D]"TYL@/<>;*]%HZ!2=4#B1XU
M0PY5OK) R,Z (U<#.53EL/3'D6OZ;53L5MS=5N+]+-N@C/J3NJO*A:E^/?^P
M^$])J_O?EK,L,5L,-((BSR5$*:&09 6%E)&"D$@*EGA%#O418FHONGZ(4K^-
M@%[0N[GS0P,Z,%78DM_W7<GOFZX@^/,-,+("+6PXG_D:J()ZOKT$&=5_O0:J
M?2_TJK'ZYMO^U[I>V='OER?2[.R1*]L_EOTLFS8I\HNLOI5<-E[P9\F7#PL[
M2E-Q1N*HR!G.8!%EL?8^20$IRA1,$DQ9$A-)I5<GIJ$%GAJ%VNS&-GR"[VCC
MF^D[\#*[4?"4%F]H=_GNPYN;X\$OVWB&F^W6J U+7-:F2NU&IY 9R., 'SA_
M>6"A1\Y^'F<)#G.G1YJW=V/H_9KC9@8]@A;OFVPD_^GYC>FE\$D=N;KI/Y\1
MJ3!-8!:;/4Y><(AEED-&5)8F.59)ZN0]!Y5J:I\2*ZV)W3M:HK]/:$^8Q7/[
M=HR^)$,?LEVS&GW:28=#+W2'Z0"2C=UT.AR81_I0!QR\'RF_E4I6E13W]'M7
MYD<[(G]:+L5OY7Q^NSCHD+W_]UDAHIRG*8$B$10B2A1D&5(PY10S@[D47N&2
M5TLT-3+>:2K?9&/Z,>_U*^3&NJ/B/C#C=KH K0S8T<98X9O%N#V_&-[$&PS
MH*1[O52C$FXP$/?)-MS _8CV,&C@EO-J;:A>._M2BR5K[3?:O!.)8D*5J?,L
M8P)10K2-BP2#.4$LC@J4%$SZ4*K'W%,CS[M*/C6ENXRD8&5$_7'W+R9_T@CN
M1ZH^J^%&GP-A/#!1'HG7,K%^C<S "@WN+@#L390]H I*B3[SCTI^/8#9I[D^
M0P3-L/]3M:SK+O.XB$WF3)K#5"6%)C).($520)(D&2T821'QJE_O,.?4".QT
MIO>#D3I(KO<+S-WH*C"2 ]/4\7QO)M6RDE-(^#X&VQ@IWR_FG4+2]S$@'-.^
MC][J1TVFB;C9J>PR'&PS0_6LGYO;MAGK-M/A8[F0'U;RL9[AC.:"TPRR*#&%
M0&@,&8HI-$F !<F$S*C3CF*OV2='5^_>@"Y-\P;$"8S(#=AH98/5MGJ!3C&P
MU0S\:G0#5CG'/<9^RW:>YP9?C($9;Z1U<"; J_ \1X5ZX!T:U'_;I\!^,X]"
MAE>!TM'B=8/TB"L_$GOP?&M*IY@X@_?Z"9XE(B&,)PIR5C"(2!I#3",%"UY@
M$2/)"78*<'*;;FH4>/]5:M/92.@1VGP9U/-\%1ZJ5PM2LA(WH4I&YJ @>D2&
M!P5SI)CPZT'UBPMWQNAL1/CE4<:+!7?6Z$44N/M=_7SE;:KMG5YOTP+S[=+4
M\YV)A&6LB"A$2BJ(8LXASN)4?_LPU]8GXS+U.CPY-='4.'8GG=P(:ENM@E\;
M63U/ID]BZ^8(AT!L8*KM!Y:W;WL)B: .[<G)1O5B+ZF\[[I>O+X?/6S-OVXK
MHVX24F3U3=9OOM+J08K[I0D:T[]_]]W$[<A92GEJHF%@RE/-'5PH2(I<0893
MADBNTDA/X<$=O:28&K%T84\UX(W 8+4$W$3;&9=)-D)[[KKU6QXW^AD<]-?U
M4[=:=7EN5B]MSW3K= ,:)<TZO>G6J=4S'+==!7-0XNLGR:BL>!58^Y1YW6 ]
MW-N[+H1^\8Y6\V=CUI4+*\$G99LGS"0J2$&4=F_U?YO\'8I$ 9,\)Z@0VO<3
M3FVEW*:;&D-V @/]>DHCLFW8TLILHM1L%Q</K^TRX ZN;U 8!^:\#8*?%L!*
M"W;$!9]4TX@E*((>?F]0)$?R>Z]$U,_I=0;HK--[>93QG%YGC5XXO>YW]:RR
MN&:U_-M:3_'NF_[/O1ZE]<RXPDD<Y1@6,HXA(G$.J=2?2JQ8@3(<RT1XQ7"?
MG&EJW+L5%%A)@1&UI]][&EXWRS,(:$-;E_WP\J^Y> F+L/463\XV;JW%2TH?
MU%F\>$,_HNC*-KY9/K*6@=K4D[]+\4'HJ4I5TDT@WBW_VUI[X6*G,VFIC<JZ
MUE\J<3S,;X8B&B>"%C"/D3;YF*F1HZ34%J!22.(T0CSO.EBY<<[P0CN]AR^;
M7@U,7YNP6AMYUZ-7P0@K[49^$UF]<5BT4Q;L:'L#MOJ"787;L&C0J?RB#[?6
M"[1:WX!30=;A:'F\50K*[R.(/>J'8KQEV/_BC#ASSWYCU0/5PEC)WBP7]7)>
MBNX@_TZ_PYWKM$G?H?--M>+:LW!PD+DF1$N[^MB>\UN-+.GLZK23/4?G8*O6
M(#6(@P(=MK-7$,G&[006$LR#SF%!!^]95^/1-,KZ>SO/0?)5*A@3)D$Y)YF
M*(X4I)%@D+%"_R\GA6D?_4U6;.E<%^/LA#XO^.ZT Q[)[,AKWF/*FV1S_5=8
MR;FM>U=NM/!MG7H>?92F*"9Y 1.*8XA2ED,JF(2H$%A$' M$O#H_AL-^G*J8
MKX>\VS<M')X#?ZSVH1PPC] -D[#U-\Y/.6[U#"?U#VI?N-WU^AL4^Z+9YI?W
M7^FB2T6<Q7$6X:@@4"5*,Y5*,\A$RJ 0YGNA/R!%7OAPUJC23XT"KTR^'G?E
MQ]^["+J>_YC;& =,?@.:9L K#0/H<)CFIH;S\DUV?^.R!O^P6QW.BS/DKH>[
M$#V]GW9R[5^5*_FQ_'8XY5]D^?!5FYJWVMV@#_+/M53K^<=2R9G(XI@AG$*&
MH@@B+!3$B'.("$H4CK!,>.)EG5\AS-0^7)V@@#:2@DJ:HQ:3[?,L:67K":VM
M]&"NQ?>TW:]9-4?+?J2U&-KN[[X?C1YP;A0Y]LW8K%>K#6C4 1_/+8Z_;Q
MU;">PS4"C>M7!(#NP.L(,6:/&+<W=U\^H"C^Z\MXY+9[0I'%2:[,3@>FFE5S
MFD.2H0SF)*<J0WD<4??PMG,S38TRC:Q "_O#7W\/]F+F/8*QSF)[GON"(C8P
ML9T!JT]KC[.H>42OA4)OI,"UJU#T"UMS0>9LQ-K9 <8+5G/1XT6<FM,-?1L!
M+[D>]TD_#E]I+>^JY4-%'S]WEM;M>O5U61FK>WO-[:/)R8UGL6"H4(C#G'/3
M=2F5D!9I 8GDB4KBC,O$JT93?U&F1L-6$VVN=F*"IT:7FQT3EF[4V;V06H5\
M>P[W7D(W0W:<A1F8[9LUV4H([KHUV2@"MIKL7GA[?DUZM#>^%L[ O8][BS-R
M8^1K83OLFGSUB%?5@:9S:R#?T7KU=BU;2R'/>8QYQF&J"(4HC@7$F=+\*FB4
M,TPS[I?3=F:NJ='FO6GM"HR(0,O8JSKS44C=6"X04 /3V#8$Q(IYLX$KH+'E
M@<@0U9&/SO<:-8_/*7ZBDO'96WH&6#UIMWFE^<AF).PYTZ8PBF$DTV_S3NIG
M;+&:Q9%DC!+>!/DB)C.(29K .",)8CF-"BQ\&,17@*G1RL$^HFAE!EHM3YKQ
M7@PW[AD2XH$):2-ZDZ%T9!NPD]^V/+9]DGG0BG1]P0L;E^8KQ+@A:#TA.H@V
MZSM.D/PIWW#14[=/Z.W93^\9)ISS$A!#YO:\4M#E)94O9/:$"HW\:5W.35_L
M;AM0)3S/*(&,)=JX3XM"&_=YHE',:9S$-&:)UW'?R^&G]N'MI/...'F!F6M(
M2%\D!H_9: 0;P#X_KG/@0(<74XP<B7!,O<-0@:-7]7M=VUKKMD;T+!91G#!A
M3I$*"1'!%%*:9S 1E*8,*5$PK]+-NX-/[54]5F3>[ZU] 9W;.]L7D('?V Z+
M^[,@>+^MQ[0-^JZ^F&#4-_68:OOOZ=%K@@6CWE7+]\OJD7Y8*/.'^=4[6IE=
MO/I392IA?U+M2;7\HI]Q>;N- W^KS=5;OEK3^8PJE<>)HC#'*H=(9!CBV)2F
M(]IIUKB@+'8Z-QY:T.FQQQ)8=31_;-2Z 4^5A)I)P-R[ROM@*^QJ3+S^N@UN
MEAP+)34+:=4$'W87LM-4OZ6VK+R)O.JT!;51%^SH"]Y:/[]1>="HT:"+,G2
M:!AA7SL6-"CD#F&?8>?K:Q4NO^DQEPLMB2G9;Z:5=5NH2\QXFFCGC0LHF&00
M29E#IFU'B%21(9Q$M$!.M:+=IIL@]S?2^IJ+9S%U-2!#(37.J<U>]XX7C3I:
MJ<$/G^4WO6QT_ON0IJ<+3H&-T;-3CFR>NJA_:+ ZW75UT\DF2/(7N9HQ1F),
MN(1%CC*($NUK$IX2J.(L(I0GA4!DMC*'I&Y$<FP2+_K83#7TF:_8*:MR;8O(
M+9YN)'(M2@-3QXL:(UVHM1;1V&!'JHP.TLSQ )>A^C-N)WJMEHL'JI[IHGAX
M;3!_]G8A[.@[YHSGX8??H!-ZX(]Y)C9WS<K^PM$8XJRD'VY#.P_G1'AME\ !
M'@=#WV64GJ>(7VDE?Z+ZHZVG,U_O9KZJTD^=;!I,;R]I2T+>_D8K\4Y+LGK^
ML-!2K)LZD5WJV*<G6[GY3WH(TR;U3E;E4NP=A]I_-#[(>UI6AJGE#!4$2QPC
MR! VV5X)A50A"E,3KY&D5&#E%9DQ&<VFYI18"?4W\X=R <1R/C?98D^R K5!
MX[1A/?''Q_'4>RKR3NB;8A6&S&@,=E$!.[  ]@QVKVNA 18;[9]9=, ./+M)
MTBU"-Z#!R'20;5 Z$@]C+[&;9,!@9:VX@';;Y-8_;'3!9+0;-YQA,FJ?BI^8
MG(#7V>*[9LCWLI[)I"!17!!8Q)Q!E$89Q"PM8(9BDL4T5Q'N59)D;YZI?4@W
MQOA+LUM+ZEFK^12N?L[,%6B-Y;5X -7;-SD!PR!.R/Y<K^)MG%#XE%MQZO)^
ME/!NL=(,]9=2R)U#"+-+NUC+]UKD=]_UF[B@\S?K>K5\E-7'38/6.(X+P96
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
MPW<XU]18X=_72U.ZZ:XJN0TPN&V._GZFU5_EJK8Q51^$1K_D=-[6"0 _6(5
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
MQ/AMY#O1F^S#S5&KY\&J$_ANE!(,RW'898.?E?>FZ^;:R7P#C-2@$3L<U?B
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
MCDVK)C@'C\_$F;.RS;'G6%7Q/Y>K52_I/Q197,0<Y93B')2ID.JM+6- !"H
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
M=A.S&7]NG-N;'_W2._ 7_2@/??C??7_%/[0?4>>(?1<RJVDRVX4("'Y@/@V
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
M^W6M$2I^5ZOC0TZ[!C5R_VAE:?8I7YVWFN'VJ]EN(;L4]0*6LE31'@$RQP+
M DJ N$Q!F<22%*D* F5Q7=>MLV//+=AKGYK5WL!K&VF=1]TXE@N!96#R.=-
MJT5WL%=G@+.'QED7$0O<-.O\^*_<,.LB,)>;95V^A2_^:O<TQ'X572\*QG*(
M$06)P!1 2!) 89H"*5(HU!(V+GC1MZ2XNX:_CL<V>M@.^T_<3<!?^XV?S=[6
M:SGL!/*NY.4(Y*NR5F?S8"LM*%N=AR@P39T8^)7YZ3P4EXEIY+..F1SMQD%]
M5W6%!V>5\Q<\ITE*: )21!0O<90!E&4YB#.,\R)-L[C('7C)W(*9LM,7=:,?
M:G::O(6'SO@FYTOTEENF?9C/B6$>B%^()TH,Z8R.ME5?@A6]:,-Q<]B'PV.V
MB#5@?M-'S(>?-I_$&I:C!!/[.URQ^S0(W+J3S46*4<PE)R E:FD(2UH"0ED"
M$,M+7F*:%Z75JO#,.+-< 3IL+)U T&)'Z3I<)ME*&IBXRZGPO(-T'@7_6T<G
MQII^S^B\PR<WBT8N=]76DD+=A]^1G[=U+;9U_XMV*VHA4*ZSQ22@/"L I @#
M5.8)P!)G>4D9%,*J0N'">'/C@MXZM\KT2^":T8-'R +3Q XM?3S7VGH3[7[9
MFNM3P\L(%\^R7N-C3JST903 L?B7V<?L2Z9_(S^7]X_W?7UTDF$NN 1)*E7X
MD'$!,$$$J.B!BERD62:,TMN/[CPWDNB,,Z]^/L1IG 6N\C[P\][9Y;F6^:2W
M5Q<N']YULBKED\X,2Y)/7^#X,E_6;%75CQOQ60Y/J+^*E5[@ZX/JMM]EDPC1
MKR\L6U%>-\B,OKT7<D*"=*KT Y[?5]IU)DW[QO,"W]$+T<]='?4S!P>"J.2Q
M5/\#'"$*8*HB;II "9B$G/""TEC+2)GG>;@>LTZ6U.%\S&I_C#K/8](@YY^A
MSS=?[?S2X'S2Y_GC5LV4SOYJH^3;^VJS7?ZC%25J&DAW\1O,.612!;8I+R&
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
M1'MW@FR]>8#5*Z5=8\^D].<!N)=4Z>.6#OHB'ZOU=RT_J-/"WE1/0D5KV[W
MN. ?Q9,:[KOXJH=<0)Q3RD@&,*8Y@&D& 4)EJ5B4%BQ)2 PSH\:8]D//C32'
MAD:KSM*HF1@+S0L[],>Y,BRF@:E1VQTU&J/:\J@W/3J N3<^^AH49@MYD6!P
M3R0QXA-V.Y41)^1&E4;L[CB=VHB3IP>*(VYW<'@9?*GJ[2U[W(HW9",Z76,,
M8T[3E*O .4X!)+%B^YA"P*1 "8^+/$F0,>6?&&!NQ*Y-!$3;J"5.1?3NW[]:
M,,TI!,L8\Y(A##*8(0!QF@*,XAPP]1(M:2SR,N,+-8.TF@+#X4#_3"@:O/RN
M1";P*ZZ!Y'8/B8/^^"E<+-Y65^(ST3O)&B>[%\\("*.OEU.?F^XE,F+UP:MB
M[+I)9:@&:@/'\AZ?Q'810Z$@9@7(N7JE0)9*M8K(,Z [S)(DPSB%U*:[4" [
MK5Y/$[0HTFU32:O(03H7)E&3NCB?9ALY,YBEP#1_E2+43=1[>G->'$KY^^IZ
M3Z83,@=%IXNV_C-H-ID"[DF5R7@XMY?*N_N'5?4LQ#>Q>5HRT:A3_TIJP969
M>M>KL?.._.PVO]XK%(?_TA] I05)RQR5(),8ZBI#KEM04I F6,9)RHI<,(>S
M/#_6S?0(4/<._6NT;'>@M^1G)*04S+($VM/\F;TS)IR.J5H2*0\ U2[L6NK<
M;C;J$M'6&74FWS0G!)U;_BC?+YY>&=Z3:9,2NE\X7_*WY[L[M@1I16ST*T.?
M0^@S!ZUP>WNOLU7_T:X\8TYB%B<)()@Q &'" ,ITDTL))<8%I45A5;!@,.;<
MMHXTM;:2XCJ#JJ);+9J@PSCYN)):68]UCM319A\/DMHM&\-D4LP(UC/4@=ES
M8&W4F]L(8-]$0XL]MADQA\=ORQ&#<:=M/V(.Q%$K$HN/NJJ1Z<=-\'=DHUO,
MJDB6/=X_KG18]58Q(UMN%RG,*9&%!*S@BICR--?A8@%H+#(H\[(@I5''2/,A
MY\90O<61Z$RV522[B+$9X_A%+C#A[$#KK8U^&=@;=0:?[P#E(%UFBHYG';.+
MPTXL:F8*P['"F?$GKZQZ^B:^-PFLW6:\0!DFM)0*6JVZI=:A@*H%*N \27"1
MIX6D5D'0F7'F1BO[8IRZL].Q@.D%G&9DX@&DP RRQZ<WT>.IAB$,8>J27HSU
M.M5(IQT^6X-TYG*GYDSJZ5J3U>^U^%;)[9]J;?:E6BW9\^V:][_0J>W?JA5O
M,M_YYTVCN/CGLA:_D<U_"L5([2?:_]^)G]M?5UK'"<*"(0$+H,7Z%)-0"4A2
M,""0BE0$9"B.S8_=P]DY-R;JO;FR$U&P:34XQ9['9 5FQ-Y)+:D3]5[=1*W!
MD?)T]\NN&$E[VY4JJ3^K3;1S.>I]WGW\C^Y/[7C4>&YSR!YP]JT:5\WA6S!9
MIZMPWP9O7;%"S\>%-EK!AI^R[U9H#%\TZ@H^G-OJ85<3MR^$NUVMJC_5+\7[
M:O-F(_ARV^IWZK.Z)[%Y7HB"9B5!F8X'<@#CA *<L1((G.5YEA29C*WJ5QQL
MF-N[OK-K::NBZ0*_V4HD,*B!W\G[RN!A+?#.@49^LW6AZ0#?)C5H'_RM8:X
MT.OZQL6.2=<^5P#U<EUTS:U<M?3(5K1JQ!Z$WPSN-:.';&>O5GTY*0@71OG-
M B7/(G F(T^L!V<!QK$TG,V''9\/]D/PQY7X+(]3=00W:)]VIQ_B_;(C39,<
M$R%!GA4J=N!< IKR$L080P0I@9FP$S+Q:]_<XHK>/?V$GLC;4S\:]G&T%$+Q
M/.N&_/EZ<QF::7U-8_1'XZ/1=H(],X?!WR^'>[9Q6K8/ _#1>R'0,'9OD'JS
M77P5=?^.>EO=D^5Z09*<0YZE^AA*\7]2Q #E"0%Q(1'B*:<E-]I+/GGWN;'W
MP,#HC]9$P]V_T^"-T^C5D 0_NVX5'30)?MDLU0KNBUHQ5_PR-,9,-@K!& ^I
M#PXX2/WM)?^<OO,D[#'J5/_LCU_DVCGS_7(E-F_4/;]7F^<%RV#&2"/\*SB
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
MY;E,)01QD2< ,I8 (M,<Z$XC,6*"L]PJY=QTX'D^Y2MM;M1+S-D]Y<:0FQ%
M"" #<T-K\DVT,SIJK+[9:=8^WT3;*J(B^D*6'F5";*'RRBK&@T]*.+:0O.0B
MZ\\[GG'J$LU?U;V;\G:QKMOU^3Z%X]?G_27=L$T%9WMD\F&M5C2/K1SD]H?8
MW/T@ZT[D1"WEI5AN=854&P4M\A3Q4B .)"8Y@ )"@!-, =<<IQ/I2X0<Q-LF
M=,'H49]>_VUGYQ5U[A-^#PP/=F<VK1/MG6J7 -4^14._#S(#Z7,TO*YSOB^L
M[TZ:!P!$#0+15D'0BT7=1/LOC?K.M#AX/(N>?O+\GFQ/:/^TY^333\S1J?LK
MF.!:?/NDAJDVSUIYJ"R*@N.D!.IMA0$D60(HEKHEH,P%YS!+I=7YV_#F<]M6
MZVVS;K!^@)@9S[OB$)B(=V9Y5F$ZY:[GBL[! !.7<1Z[=ER[>>(:Q]"U.V+\
M++^)[YH/OHJ':J.#Y0]K66WN&UI17-+^XYWXN?U56?N?BS@MI2@A ESOD<,T
MSP JLQ(4$!>,D801826+YVC'W)[YW@V=\]K9&NT\B0:NW#3Q1WN%99#I.&.&
M 6/X>0@=_+E,0:=]'FF'HL8CGSF%UV'J-R9SM&7:^.HZP(YBI2MO=Z7HB&XK
MLV;+U;(9Y\T/':%]6+\54FPV:FE+?K8[IL?G^@LHDC1F# %$6 9@%@M .(]!
MF<B"4)BF1694I^K/I+GQ;6NZ7GP][=)A=N7TCK(;[O-E&JM-.0N!V?:=E*T0
M0320]?BJVZ\>>G<3[:>J]["YMM-Q.I'-=!/=WNM:\ ":(%<C'T8^Q-VLUU$:
MN1K&LZ(DU]_YRJ2GKNO70;>OKH4P_ZP[A3UNM$2?NN!3M=[T?U6K[67]<;D6
M'[;BOEX0618YCA$H$JI7NSD$5% .8EEB% N*TMA*7\JK=7.C\GT6UDU/"B\;
M!?8N1HHF=DXV5PW=C!H_HS^TIU'CJJWTGM<O@=E+X=6F-O#[X55FU3TMSR?Z
M8?+XO%CX.HE_/L$]FRGH=1"WETC_FGHOU&?(ZIR>&X-YQB#' *>2J^B>,$ @
M$2 NRX3$.82(6K5E,QMV=K3?6FO'T(8(FU&O?]P"<^HN?NXLCJ91U+/#R2O[
M&0X]*:W9P?&2KRP_[49$S=&.HKFJ3X!HAUEP611E1B'(A<P %&D,",\%2,J8
M(D3*+)-&@CL7QID;U;0'N*U IQW?G /2C& \P!.845IDAB9VG.*//2Z X)4N
MSHTU*3]<</@E(5RZ_$KUA<^RDY8AJR]5O6S6S'TQ3RPXSS*"]>&- + H4H %
M5?]#N>XD74B!K.C 9-"Y<</.9GULL+,ZZLTV*09RGP##HQG/L(8^A[D>47?U
M!@.(PH@XC W\.EH.!E"<E70P^6S8S.Y;+=CZ'X)LWB^?Q")-8A@3%;/D'.F*
M#<(!IF4!"L)1EE->4(YLF,K)BKE1UYUZ<8A&V#9,IO?A%)AQ57!@ Y.770YX
MKRNL'8FT)],GA9\$\E4RQ \MF66Z^$FP7'/'3]_,CA7KS7;09W?-_^\C62WE
ML]ZGZO20#6,%\QO-Z&&[T#]:[P3O_8AVNMX^ PA[W,:>+76WP7.E_O;RF;(8
M;I('R-[]_FEQ^*2#B/ @@Z/K&_AVWR7SD]@VR3O[5">44EB07 (4HQA %$M
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
M7B"N-#3BE4C2#J+S[&AY'_O2T[==\MGM>OU(5FVBZB+-41(74H"8QQF !48
M<2D!QFI5F7*<,;/BB',#S(W6>ANCUL@N;]J\%/4DB..<Y .:P)QCB8I5:>J8
MZ\[UJ2=O.EF1ZIA+PTK5T>OL'N!:?<V^,;$FFV7UOMH(1NJ^*D<]L[P@F(.,
M"*9SOF. "YZ A,)$8IHG26Q40GY^B+D]Q+UU9H_M"'3C#ZX?0 (_NKUA'FN7
M+OL]]J)7GQZ\Y-7?7K[@1VX_R1-\V;W^&3:X\NK]GON'5?4L1)?KT*^+!']3
MW3^(=;T3GFB+W3_+KX)5W]?+?PBNEE'+2EU7;^O]'D-&4<'R/ $XE?K,2W!
M"Z9>[S1%!*:%R'/NN"/DU]*Y<<JWQ_M[LGG64?>WK;(/-+Y%0^>B=S_USY8I
MON'FVGH_Z?5F,/2:2;L":#-CW0GTL(7+33]S;?GZ&_*PW)*5]NLFNKW7+:.F
MVH$*,P.A]J@\6_M:NUAA0!_9YPHTH/V2KZO$?TY2>K?<KL2"2(Q%7A8@B44.
MH,0J5DRQ! D4!<-%2;+$Z,#@U,WGQNB-49K/D_07^I=>T,*PO.\D>I?7>==@
M$I@C;>&P6N2=\]MY@7=TP\D6=^=<&2[LSE[C%@ZV.F,+ALHRYAD$.::EBMTX
M R3/J6[[EQ")2%IHD5GS]-+VME:/Y60)HDWAE.79?0>36=AC[WS@Y^]VW&/K
MJ.+00:\A0'?K2=_7A^Z\?+F^^%=7B9C[AVJMLQ,_RX'*7]_!9RGJG3X$)R5"
M*&4@H274IT&IKJ-'((=I*=7Z*H-Q;J<98SKTW-ZB.Q%+W?QWM;?WK[:B,L;8
MFSW?81 -S %[H_6+^$ ?=&!X$ D/>[P\*],8#S^Q5(TM+,?:-=9W<*:O^VK=
M;$XT2XJZ:S6ME@V+%!+&BB0&.>**KP3* "%)#C(J$YDSEB;"EJ_.C34W@FI-
MC6IMZTU4-];V7<J5N=$ORW7W6\N>%V-X&W.4#Q3#DY(&\%L+8&MHM+?4*P5=
M@L,WYYP=;VJ2N>3X"5:Y^!'7#FUM#Q[=D/*3T%W52$X9A8HK8@0@Y2F@&2E!
M3M,T)BE."FET?'3F_K.C"U+_B!Z4;9&L-EK*8;Q#EA&$9FQP!3"!&:"WK&M2
M^NXG6SUR71\VV"G=-1,;-CN]9=OET[A$JT.+L9,P>6X+=CC&Q*V\3CIXW'[K
M]&5N3[VZP[Z?U^T36:Z:;+MJP#,_JI6Z7]UEXRVR&"-8R!)P7!8 )BP!*"<<
M2!'3I"A30;C529*U!7-CCA'A8C:(03HG&GKA77[KNR_?[!C&?KK,."CH) 1F
M*8W_87O$G0-Z#H9A3.?#S<7\;FMV<@;0*W_96S$IPSF#])(#W6\4FB5;F7 I
M,IY*00")<:H%92A :0E!*9$L21D7$.8V.[:6X\]M:]>.(4,QHHV">T# 9\B&
MGH79'<%[)29\!<%U1X#<6? :(?5APJ(N^%\DDF89*BCX_]I[MR:W=2Q-]'U^
M!1Z](Q(]O( @4 \3D7;:U3['>]MANZI.SWY0X&JS6REEB9+M[%]_ %YT%P50
M(),5,]-3MG<FR;76!_+# K N@J@8HHQDD"<,F9&0.H\$HA%R/BO>?_#4_+IM
M\*M5SC\2N,*JFVUN06!@&G$SOE? [[ZE-P?Z5@\;/<!WWX1S@;T'O^_G<GQ6
MI3(W?;=Y4+:GZ;+J*MC$*\U2(=*49Q1R;M9?B%21^;KJ9JP3DD89I5X)GIW2
MIO9A-J6@@-QIZN<S=&/KYB$$0VS@#[G5L\ZKW&EZ-6C1>]IW0B3H)-\M<=0I
MW<GXXPG<[2;_A( SM=(>EH^L6,Q8'$59G"=0"MLH%*D<,IY02&B6JY2GG*5.
M-7L[I4R5+_;J%H(_:U4=LQ*[0>TFC&!0#4P4O5#RRAVXBL+-Z0.7)8R607#5
MR/TD@NL7WYI'8*N$;Q;K\H_E6I4?EFQA96U+=>WJ<^VBQQ6.$F4[(A&%,40V
M78"3F$#"8H1Y@G5*HWZ9 MZZ3(U(#L,TOGQ?FK?PJUH];F/+>U3.NF6HW#R5
MD09@8'K:3W]N[;!-FJKJ-I4M%7/M:ACNS!DIB+\WN@.%Z?OK\T*!^+V!NQQJ
MW_^1/=KQ_&-5K(U,_5&_V\SGSP_J::5$81MG-I&I&=&""K-0TS32$.4"0R92
M,W1,Y\;MBG.%J'/WG6O2ID::E;YPJ;7]<K55V2S<MCI[!?RZH=W-BL$Q')CW
M*E6!T=7\#U3:@CUUP97HX1[P>?3$"0GC2"UPG-[&?PO4[L85G\[N-E<?,EXS
M&U=[#GK7.-_4@WF_/)=K]5C5HK4N].;)9M(W=<0_VUR,E6'[)J<[DG&&8XE@
M8EX2X]>2%/*$F"E4QB)GN2'EE#N3L(?@J?'Q5CVPJO7U( \?O!UH>" 4A_9$
M*ZU!I3:XMZOE6G'0]E#8(7PU]_XVB#VH>B"H1V)M=\@#,7</N#I)W.=YX_%Y
M#RL/J+W/_;T;DAV[[C91]J?YH7JW7-6=T>PQJ"K;^::<4<:BF",,,9+$N-T4
M04KB!&*=$)ZF%$4ZGNVWN'?II>6MAM/G1.O/:5^9 ;<QOK/5M\H)\MRKZ#4*
M;IL4@R$[6M>RDVV'.["UH KZ:[HN6B/N0&6$&8&@3<QZ(QBZJ9F_(F,W.>L-
MU9FF9_V?U7-W]WSA@%U=B]?/NTN:K<G[GVPE/Q0+]=XP=CG+<\Y9A#',$#/.
ML(U28W&2PUCF<:ZHTHIAKTW>FU6:FIN\7SKDH-C+GE&VX.+9$B/6,O"GM0U4
MQOD6O[Q]@!VWAD<=MJ']\G%&S'^'.!C(83>*;U=KW/WB8#">;!N'>W+?6)\?
MR_D/,X<<=OAM5WE(8YKD$4RXP!")-(<<)Q2JB"=4JSB5?@=RG=*F1L-;98^;
MM?M&_'0A[$:6P7 ;F =WD!WU^0Y8"M +D\ Q/UT21X[Y<3#^-.;'Y::>CF'Q
M;5'H0C##3_4!F)%3=?PHU%Y].*43$6DDH!(D-LZ?PI#Q/(,Y3FQ*N*18>_6_
M<A,[-6;9+^RW,P#L+ "M"9[.F]L@.#IHP:$=V@GKAG*@EE=^,(5UH]Q$C^LJ
M><%QX@[YW=WCV&:O'$9]!M0>U^_6T.SL<7TYHYPC$HL$QHK9Y(.80I8D&,9I
M)'0F9:R0$W?=J,?4R*Q5O.FD6H6[V' 8O=V7VOW"Y[3XAI%R./\9!_^!&>^@
M6D]MQC9 :3\(Z5)TTDC#X7%6-,ZPC'1T--SP^)THW0YJYP'3#8\?[[SI=@P.
MCI\"/*YW.K M%_)IM?Q12"5?/_^M5/+]8EO_8E?^8A;KU*Q8E8 Z2B5$*,LA
M45$.$<&ITFF:15Q[9@([BO::HD9* A95D95&=[L7M]R6#&'72X;<.A9N+O<P
M" \\"5EPJPHVG_; ?64U!\7BMX$KL_@C%CK5UU7\V%F^GK"<2?#U?4+/0K/[
MX;+W"UE%S.[X<G>L(!.M58P%)(:](**QA$SF$G)-L<!YG$CF513*5?!4_6WG
M"/3>9T'.0^/&;D, /C"W#8*U?UE=3^#"%MYU%3YN:5Y/2$Z*]_K>WS-VB!6K
MO[/Y1C5.HA&TJ\'YNV*V [?\N-@&+)D+_E@N5NU_VMH)9=,+4BNIJ##LAQ&"
MB',&N1 *QC@BQI]+*,^]JFD&TVQJ]&@- Y5EH#'#KO3,I[L+C;2?[[XQ_=I$
MAAM;-_I\D1$;F%]W@W73^/@'+(7&,FP44S#MQ@UM"@WJ2;Q3< $]67VS6A1K
M(ZQ*[/IE_U4VQ[FI)@CEE$!M_A]$,5.0:D5@(E&:1#'5AJB]:/JBJ*GQ[D>M
M;=JV;A5N]H!KE3V9]3*^CE09!+6AN>\ J5;- 0[*KZ,1EKTNBQN7CJZ:?<(O
MU^_H1Q@/BJ_?+\KUJJ[04TWZR'AN>4P%C&/;645+;%R[/(4Y12K'+):>N>YG
M9$R-(O;SJ#\L%]_@VB:P6\7!3O.RGS=V#F(WLK@1N*$/M<-@YDT:':@$98MS
M<D:EB0Y#C_FAZ]*>43,;7JI_;FSEG1_FC]V.BL:*Z3C3,"69@$A4>_<RA@FE
M&4UB:G[L%R=S0=#D*&*K)Z@4O262^1*V;K00 K&AN:$76/X1+E>0"!O3<DG8
MN%$L5TP^B5NY=GT_>GC+C$.R^%9^4JLV"K@0VZ9$ DLN58J@\16XX0A,(:,J
MA0BGJ7D<U3G1/AS1*6UJ1%$IYU_$O!M1-V8(AM/ ]-#J"8RB=>9!4VYWD&9.
M3J@$I8INB:/RA9/QQZ3A=E//QDS?;0+!^\4NBNYMN2X>V5J]?K850N]_%>4L
MQS+AYG\PT2F%*$U32&..81I)PR!QI!(BO#HT.0B=&H_4.H-BL1\RVJIM3[*M
MXN:#,:I[^A].0^#&.*&!'9AX@F#JW\K) Z2P/9U<!(_;W,D#BI,N3S[W]@C
M_7?%YNOOPO#=Y^:5^^MJN7EZOQ#-%I_(,!,Z-4L?AC!$*C.LQ PK13(R9)5'
MJ:;N%:NN29L:'>WT!:W"H-+XSE;6OUP<J ?.W=03'+V!.><*<'W*H5Q%T".N
M-222(T6O]GT5_6)378'IC$"]^I#QXDQ=[3F()G6^J9\S^ ]5?/MNBU[]4"OV
M3?VQL<_\J.LF?A\WZW+-%K(Y(!.SB*M<:F*6E5H9_M5Y JG"$D:<BX2EQCG$
M7DVVO*1/C8_K]5+O?IU^R.,XQ43*%$J1,HA0S"#EB8()XK$F,L^$B&;F27SY
MXMCO:S$<^JWZ@-7ZMZU4ESO-P:8.- 6\&JDGL]1M^_K8:^U_/&UJJBS'&D>!
M42;C1,!,VD[=B4"0H)R8<=1Q(B5.:,IG"[5^J3'<5OQ9_]_Q.S=^;HNRP;ZM
M@3VE[: TBH-:\[JL=#4\>\H';]#4"[6@RS4_#49=M_4"YW@!U^\A83:HV\Z/
M/(MCC2,!!4LBB"2-#0-B!67.,DTB)#EVZO5P1<[4O(6]9G.OYE4#-,MG-9'!
M;>=-RV)R.9^S5;G[O2>A70)>IS)6DEF_31/C0K (TEQBJ+-8HQQA1%/6UIW[
M.@[^A_7EOOX?,0QY*F)LIGJ8IRB'".?&DT,X@C$1N?F_+$,)\O/D GP!X_AL
M#[O^LH-"W.^L9GHM9,^=T@1O$7L%AD&/95ZDW>L5@Z\=Q81IW?K%^*VJ2BX0
M;/[_;%9%*0MA/=DV6-1PLDHR 2EAAB4B;-8)+-(0YXK*.,X30OS:G73+F]IL
M6:D+_G-/3\\ CROPNC%$0- &9HH:+QLL6ND*]I4=(&S4$9BPT1]79(X;!.(&
MP$DLB.-M/3E%?;-[OTW[K]3X$C2S29"12B!BJ>WND=D]!YWC1..<9'ZU-/>?
M/CF^J)4K/1NHG4?.D1SZXC$T%3A#X?_9GS,Y[$=^(&'<3_J<<2<?\-F+^GVN
M39>U9D:B"M,LH1'4Q/:!("F!7)C561))BFB>2$68S^=Z\/3)?:YUX?RR*IQO
M9ZVR+M+N]]4> NCVU?:&9>"OMFUS&'ZN/FMQT(_V4,*H'^U9XXX_VO,7]8A/
M*/Y0Z__/+%;7Y9OEZJG]< 4AN4 9S$2*;#E_!0F*,XA0)'*4<Q1EQ#DFX9R$
MJ7V\.QWO@-72)_+@+(+=7VX07 ;^>D\@Z1-3<!8;CSB"6S$:*7; _?7QBQ;H
M,K\S0N#LC>-%!73I?1 )T'EA/Q?D?;43^I7]4N4G5D@C8(9QEF!"$RBYI;,H
M3B&-&((QX3BB$4ERX17X>2IB:GQ6%2AZ,KI5[3":S>&U5?@.+-3:'GZ9UV>S
MN+SGYHJMFXMR&V(#,UVM'*BT U:].V 4#.>M7#8^J,MR1LRH?LME,X^=EXXK
M^W[S:S.@A6T(4J7*ORL6Q5I]*'XH6553?9Y)E!"N8P4QT0*B-">0<1X;"DAU
MDDDML'3R:)PE3HX1MD'*?RO-ES\'5M>JN?+.%*\6E^[8NU)$0$0'9XPCR.Y
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
MWANU6K-BT:N)L/< .3+G@+ /39E;<._: @NM^F"Y %L#0&7!H &Q?5$<)DW
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
MR*B((:(B@QQ''.J89)2@+&<L\ML/NR!I:C/9L:+@3ZLJJ'1UK%!\'5U7%@F
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
M9&U)4,] *1>8W4@C,'@#\T>K+=A3]\[VS0&5PFTARG!,X@%/4%)QD3LJOW@
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
MOBU_ZQ$KU.(91UA2JF.8Q1&!*(FQC?W2D"<9SA6F*$ECWRGJ-C2'GW&,A/!
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
MHSVTZ@.KOV7_VH([4-D :B- :P6HS+@#C2$#H^]Q]#GP*(QT5#G0:/@=)]X
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
M+FRR"=7$D$,L($?<K#!SG*LXEXQ)KQJ\5^1-C22VZH*=OG[D< U@-Y(("-O
M9'$.,5#K.D#TC",N0<GCFLQ12<01@&,R<;VM;QC=X]/&?)ZV6=W3XZY@4RZR
M/)%,P2Q+-41I:IP,3!#,L18L2UG&D%=NS 4Y4R.15DV@6CU]P^K.P^E&'0%
M&I@RMOAL51PDSJX3AL#1=N=EC1QSUVGP:>1=]^6W'G]U9'G4Q:.-;T',*H3"
M/*.)S;PPGH9,!=088Q%3I7F:]SL-NR9Z:GRQ?Z#3G;[4LVJW^Z#XGI.%A'K$
M8[,;4;[A!,T5L($.U*Z*?Z'S-5=8+A^W.3^AYY[\9KU\7/)B%^HN99[R+-<P
MBY/4+)<X@4PD&"(9T5A$,8N5%W^=2)@:3>TIZ+G]?8*=X][U+8@,O?&\TVT
MY^6BY6%W>$^DC+L]>\G(D[W5BQ?V7:XLJOW5?Q3K[V\VI7FX6K4-N&TQN)5B
MI7I0]=^VC$QS?=NO^_WB3*/OF>"I;:9(H<I%;OA 9I!1&D&1(<GR+.68.W6L
M'53+J7'*@])J990%*ULE>&.[+-;:^ZZ8AAA1U_76"X_3X*NU6M^Z+69KX1W8
MVG@'6BO!J];.W^IZ6NVMK:TVYJNU%NR9&W+9-^!H!%XT#J'IR$O. <$^7; .
M*:SO;GI-7Q=*C<X$%B+/D5GC1B*&*%4YY"B1$&.ND(IR+*57Q.<5>9-E]ZI
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
MG!T$S,P'89,)C>80-O6[JG3_"!=A1:)]?;FJ9W)FM4K,24OQ"J=X)7@.WI4
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
MI18SW>D!!<N)HU4\[V\#NN'KAZ\OG_#4=Z/406#]H=,!WY<+7Q9<T$G3<?5
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
MOV<%9A#LFE1@AF#@#"HPCKQLEHF=6$I]UT%NN*]-4,P%SJ)-3BCUDE/Z-ZK
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
MO--W? LS0*Y'6IA?%GF*;HAW857ST%^Q31/$HX]OW/OP/#O3K*=A3C+/(^A
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
M"_EO0M&"\!GH@.H93U;3F:#-I>-S9$V;Q7<JAVA\#?4 MQO:;S-U3<E,"$T
M"*$F4PGPRGD(R.OYP'#=]F*_AWJ@$=7[=.1_@*RG/MN_B:ME/L.[HD['O732
M.A"NNHG":G#)"D"M<DHY,2ZVZGIVG-VW'MQ%G&*(?F8C"6MJ17^8+9;;]!>1
M6=!65J]+@-(Z0!#TUZBM2BDR%YS=2]E//'SBH_0X"C]6:%,K_?-\]79^F?[(
M'W]&O,;K=+[\DN?GJ^5BMIK'^\NCA,XY;APD'NJ0UMI@SR8)0J'E.6E57-@+
M"'N^<&*W8AQPM!!N/W[#4Z[6;_?IMRJIP-8U8#6JHEPF!XO\>U8'GB?RZ",[
M36K34]1-._+BY$[KV/KJ (._K^K*.2^/;@\N6&2)YT"K1P<$Y6G?18T<+'W'
MA8WT<YNF2CM)ZL*S&5'[LQ:JZ !3F]#)/TB$M4"EIJG\YW+YY6RU6,Z^YOF[
M'_%JE6H.RV)1)ZNFS_CC@D<K,).#IZPF%DU0$'21)#WBK@X2\:G-Y>  8KMP
MN-KAL+7Z.D!H'6YT7GZ=S=+#0.*GV56ZD(4++$: 29F<SEQ/&LX$D-&8*(27
MJ5%[_-TT=>'#M</;2,KH %:_SF>+Q8?YK%PN+XK%*'(TX%,V1#HW@#DDB,%X
MH7RACS85(0^(F-@]:PV<H>+N8/[[W1[_[L>W?$UV]"(6*4*EN,18S:@A!I!%
M<%:&;$5PJ=$&^(B4:>>3-4?-<:+O9_3A^@S\^^QZ=LO/^^M(^_.%38%%+@5H
M66/0EB&0"<U@9)W?YY06V\EE8P'I:8+V@I-YO7 :00T=;%VW%_5GLZ]A,QET
M1W'YF_D<Z=OUR>3L2_WQ_?5-4\WSLNM7:ATRKW/M53 JU"&U9*,9"[3.)-EH
M%XQUB*7P-EOB"9C;"^7VU:*\-WATL&+J--U%':>;ZW#F'Y6QU>7B2V7\O/R2
MP_)":AZRKZM?T&%=Y9SK>">L560\9>]-QKVRQ ]W 5\B;2^TNE>+UG%5TP'6
MWE_3L_)BN7%9+K@7.A3)( 510*VKJ)';VC;>< P^>]-F[L,6(7OAR+]:'!TC
M]GX<Q1N'I"Z'VRN=R^L5B6OC"),E?IM)</GF_WW&'WE!:V:.I#XR]?.?:SF2
MAQ/K9=#LZFHMZ1O!7!2F70DZD6"1/GQF$(I L,;FR$S2&MMLZ0V9VN^:F;UB
M5/>!AU[;NJS"(O^YHB>]^[Z..OR%W#VKE[>?,4K9\K.$C56OO/62NSI39YD,
M*KF:1HJ@9*SSO8VNPW9UHL.SY]N!Z['BD#LH.CKZNO7<!]-]B4,74()&2V8^
MT='-<RT@!H[6%Z\]:]/Q>2=)$T>^QL#$HV#J*.+OM1'"%G/'-$+8\:@6%J5I
M(X1=(+)!"LN]!Q-D=<43X2<0IJQDP7M9 _-M1C"?R+#<Y!TH'6V2F8C0C-6\
M;%V[J!GPQ?IH43/?JD/-$]1T:DX.0<(+YN1PH7=PRMOF@7YMG2];BZH#]Q;H
M:$HG5K0.4-$!Q'D?.)?6)->F\&$'05W!9X"F7X#.$+'WB9Y-WAT&)[CRH>;=
MU=%R1I!PT(#PR+Q!XX6UI\)/%]GI8RC\91 -D'Y_,-ID5OI2C%#:@'&UYCD&
M"5YQ!1R-I6-HL-RT209[DISNX#-$U<\#:(#<.P#/;9C@3?QS=;FX7&MD/=RR
MGA0R(K" Q :7Q(8)FC9Z^CZ22\\:-5K?0=#$&5QC[V!CB+U3]-0?Y_EV@?'
M1#*!@[<ZD(=("\-YDE3*N:#BSI1&[0U?)&U:DS0* /8 U7!M3%V?\<^,5\LO
MD:3Y,:^K!O*O\]GJV_OK>%L[D&D!%ATA2^5 N=I'+4D%@HL89;(JY/U:J;ST
MIOZ0<H169ZU$W($YVC+3]Y?ODBLA:.V 15G+3&AI.0R1['7V&#QZGDYR'OOM
MH#*,=@FBC0]DPP3? 8">3IJXSWOX/,?KQ0UE_,)BYFNW,<A<PR>A)J'5?*'L
M1"DN(+-MD@4.H;(KQWL@+O;*;!E!29U>39^=__O]+]Q_P.N4OUYN!>/VNY+>
M?L085]'/DC72%?1=B.'NQE&YE(+R!8SGG YLVL+Z L )<HZ<<"HT&GSWB)2C
MG)NS-Q_??7H3'S231LZ9S:$ P=76BJ%$/-&>SB,JC3XSA6DO;^;1HZ<U <>I
M\"_NRG%"ZW1UWY9$OG]?!ZZLGT8KZO]6>'59ZA3T-S'65+QAD:A]GSU*:&H0
M(T<:BMI9Y^YU;YYZW1WLI Z*3D\1(LNU(8&7X KFFNVKT!JG9=DK'+Y7Z[/]
M:#JFQ=M]*>WS[WIJT$9MAHA*,1!2U3)]6C;U> F:1\FTM8K.$:.)X@A"I^OW
MU0!3#QO'G4IYK]SFO;FZFOT7KV--;OIEM@K+LKJZ$\T1 ?H17W]*RWFP.$YG
M7*/G2CI$2#)*4$Q%0%\B2-2:EVB"X7M=%W=B7/=>E>N3<]!!BH0)K+0*E$WJ
MIN:Q>(O<*.WM?O.S1F!^B[3N#>@AN'EH0-LIJ(-;B'OF;A=\+;/]2,J;?\^+
MN^"G-"8'I-W&6*[J^!D'GGD&J+A.IDAM69O[A_WHZQ5[1X%CUEQ3W>-O<^GL
M$G-)8X"466U2&B(XG35(ECB+*C(7VZ1<[D/=M$?>%J@X"'@#5-0![.Y8^<=L
M?D:OOUS6C/?;F0"U#5"-S!=?IZDK6J H4H#@9)T5(&ITO0G<GJ.J9Y@-P<"L
MD4(F[H:^[WYP?SVM:W4Y5PIX(I:4M;FF%%E )[)Q!E'[TWMTAP6/FC0Q;K^S
MMM=7!Y;N7[/OZW+;]]?/K^&/LZLK6GO_Q7FZ* )S]B$#HVVC-G2FW0)S!%II
M*4?:+5BCNJT!Q/;O^@V$SNRT>NP JL\S]A:OZE<7H60IO14@*C]**%_3Z%(M
MSHWHDQ6AI F<P0UYTV[3S4%RD&LX1&.#8?@MSR]GZ=,2Y\L3@/'L"\[_R.GS
MK+:GHN]O:X"+"JA4C0KEFE(E%4+07H+-C.1LC<74I@YN$+G3)CKV!=8Q--J]
M#?TEU_%8M8CW(@9N-#<"LBPD254$.(P>2D$O4HHBZC9- O:E<-JTI;[ .5!O
M_709V&^C4$I%[G4&F41- =0&@JU%XII'-*P$[T3G6WNS?GE] 7*(QH[<VM]=
MIZZ"A/>W%/G4 <*G7CU5</!%,9PN,&B-9+FF^!#<"Z@<$)Q# <CHN,62]4&.
M-W"NM\!@(43%X#F@JM$M8Y#X9A8,0Z=<+E*P4T5%7UM@\!#<# \,'J*@[AW)
MN\ "LTE(C/7>K6;%J21I [!TP&-8A_7$G-P4;N1K"PP>!(YA@<%#--4]_C81
M!_)HE'6F3H@*ON8G%7#:D=A\D;((;4*>XB[H%04&#T+%D,#@(2J:N@SLZ2!4
MO@U#*64RT1^@+E9:I)%885Y#D$ZQ).GTY/A+[MX>[^D9-T.4.FLCX5<7Z"M"
M$7.8 ).FLY*NC:1#$#5.Y42.B7R04R4%O^) WY"=LKV^.M@PAUP06)%3D4$!
MCW1H5XP'<-P5(*G2%\P'$=M4WO_- WT'06>$0-\A>NP JGO>+<5LO$H*A-&T
MR9@4(10G((C,B^>&%]:FD/9O&N@[""3#;@,/T-@K#_2);! 5,\#=NM:S)A,[
M)4 '<EJDXM)/ LZ_3:"O'5C'T&CW-O1!P,B;XISU#'0JO,Y33A"2X> P"\VM
M\JE1%>O?-]#7#IP#]?;: GV&1SHIL@+6L=H*2R@(G"F2(@9/7KQP:0I,OMI
M7_NM_1"-G2;0M_F'^A%PD?_W?_X?4$L! A0#%     @ 5X!O5)IE;7"? P
MB!T  !4              ( !     &$R,#(Q<31E>&AI8FET,C$Q+FAT;5!+
M 0(4 Q0    ( %> ;U06"9L6O@,   X+   5              "  =(#  !A
M,C R,7$T97AH:6)I=#(S,2YH=&U02P$"% ,4    " !7@&]4FD;?;S((  !<
M*@  %0              @ '#!P  83(P,C%Q-&5X:&EB:70S,3$N:'1M4$L!
M A0#%     @ 5X!O5"I:M/P:"   <"P  !4              ( !*!   &$R
M,#(Q<31E>&AI8FET,S$R+FAT;5!+ 0(4 Q0    ( %> ;U3*S<N&YP0  )$7
M   5              "  748  !A,C R,7$T97AH:6)I=#,R,2YH=&U02P$"
M% ,4    " !7@&]4ZO1-Y<2N P">=B, $0              @ &/'0  8W!S
M:2TR,#(Q,3(S,2YH=&U02P$"% ,4    " !7@&]4,WAZXZ\4  !4YP  $0
M            @ &"S , 8W!S:2TR,#(Q,3(S,2YX<V102P$"% ,4    " !7
M@&]4?RK;=40P   ! 0( %0              @ %@X0, 8W!S:2TR,#(Q,3(S
M,5]C86PN>&UL4$L! A0#%     @ 5X!O5%)7IU?Q9@  E9,$ !4
M     ( !UQ$$ &-P<VDM,C R,3$R,S%?9&5F+GAM;%!+ 0(4 Q0    ( %>
M;U3@YR:G>!0! -R;"P 5              "  ?MX! !C<'-I+3(P,C$Q,C,Q
M7VQA8BYX;6Q02P$"% ,4    " !7@&]4P*E_OKRO  !Q(P@ %0
M    @ &FC04 8W!S:2TR,#(Q,3(S,5]P<F4N>&UL4$L%!@     +  L V0(
' )4]!@    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
